Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/404.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
JavaScript支持构造函数重载概念吗?_Javascript_Reactjs - Fatal编程技术网

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']}`)