我想写下我的Javascript类.
class Option {
constructor() {
this.autoLoad = false;
}
constructor(key, value) {
this[key] = value;
}
constructor(key, value, autoLoad) {
this[key] = value;
this.autoLoad = autoLoad || false;
}
}
Run Code Online (Sandbox Code Playgroud)
我想如果我们能用这种方式写出课程会很好.期待发生:
var option1 = new Option(); // option1 = {autoLoad: false}
var option2 = new Option('foo', 'bar',); // option2 = {foo: 'bar'}
var option3 = new Option('foo', 'bar', false); // option3 = {foo: 'bar', autoLoad: false}
Run Code Online (Sandbox Code Playgroud) 我有一个问题:我想知道是否可以模拟多个构造函数,就像在Java中一样(是的,我知道语言是完全不同的)?
假设我有一个叫做"Point"的类,它有两个值"x"和"y".
现在,假设它是Java版本,我想要两个构造函数:一个接受两个数字,另一个接受一个字符串:
public class Point {
private int x;
private int y;
public Point(int x, int y) {
this.x = x;
this.y = y;
}
public Point(String coord) {
this.x = coord.charAt(0);
this.y = coord.charAt(1);
}
//...
}
//In JavaScript, so far I have
Point = function() {
var x;
var y;
//...
}
Run Code Online (Sandbox Code Playgroud)
是否可以为Point.prototype.init提供两个声明?甚至可以在JavaScript中使用多个构造函数吗?
是否可以在javascript中为一个类创建多个构造函数?即一个零参数,一个一个,一个两个,等等...
如果是这样,怎么样?
谢谢!