我现在正在学习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
(或let
或var
)关键字来创建变量。
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});