我现在正在学习Javascript,并且来自Java背景。在Java中,我们有重载的构造函数,其中在编译时,编译器将决定要调用哪个版本的构造函数。

如果使用Javascript,则只能有一个构造函数。在这种情况下,如果构造函数具有3个参数,则如何仅传递第三个参数。

例如:

class Addition {
 constructor(a,b,c){
   console.log(a+B+c);
 }
}

Addition obj = new Addition(null, 40, null);
//or
Addition onj2 = new Addition(undefined, undefined, 45);

有没有更好的方法来用Javascript做到这一点?

最佳答案

您可以使用EcmaScript的参数解构和默认值来实现。此外,您需要使用const(或letvar)关键字来创建变量。

class Addition {
  constructor({a = 0, b = 0, c = 0}) {
    console.log(a + b + c);
  }
}

const obj = new Addition({a: null, b: 40, c: null});
const onj2 = new Addition({c: 45});

07-24 19:32