JavaScript支持构造函数重载概念吗?
我将此代码作为成功输出,但当我更改构造函数的顺序时,我将得到一个错误JavaScript支持构造函数重载概念吗?,javascript,reactjs,Javascript,Reactjs,我将此代码作为成功输出,但当我更改构造函数的顺序时,我将得到一个错误 //我们的对象声明了它本机支持的所有属性。 职能人员(姓名、年龄、位置){ this.name=名称; 这个。年龄=年龄; 这个位置=位置; //处理本质属性 如果(this.name==未定义)this.name='John Doe'; }; var paul=新人(“保罗”); var person=新的person(); console.log(paul); 控制台日志(个人)是JavaScript支持构造函数重载概念,
//我们的对象声明了它本机支持的所有属性。
职能人员(姓名、年龄、位置){
this.name=名称;
这个。年龄=年龄;
这个位置=位置;
//处理本质属性
如果(this.name==未定义)this.name='John Doe';
};
var paul=新人(“保罗”);
var person=新的person();
console.log(paul);
控制台日志(个人)代码>是JavaScript支持构造函数重载概念,但部分支持。
它按照自下而上的方法工作,因此它将按照施工人员的顺序工作
下面的代码将按照自底向上的方法运行,并根据它执行输出
class Camera {
constructor(id){
this.id = id;
}
constructor(id, name){
this.id = id;
this.name = name;
}
}
let camera = new Camera('A456','Karan');
let drone = new Camera('A1');
console.log(`camera: ${camera['id']} ${camera['name']}`)
console.log(`drone: ${drone['id']}`)
**IS the ABOVE code said as the constructor overloading?**
不存在。函数和方法重载不存在。因为Javascript允许忽略参数。可以使用funcX()有效地调用ie funcX(var1,var2),因为实际上存在重载。您需要保护和初始化未传递的变量。我已经编辑了代码,请检查并给出明确的答案。它仍然是一个未捕获的语法错误:一个类可能只有一个构造函数。
class Camera {
constructor(id){
this.id = id;
}
constructor(id, name){
this.id = id;
this.name = name;
}
}
let camera = new Camera('A456','Karan');
let drone = new Camera('A1');
console.log(`camera: ${camera['id']} ${camera['name']}`)
console.log(`drone: ${drone['id']}`)