假设我有一个带有构造函数参数的类。我可以确保在实例化类时传入参数吗?
class Test {
constructor(id) {}
}
//会抛出某种错误
var test = new Test();
// ok
var test = new Test(1);
答案 0 :(得分:1)
检查构造函数中是否未定义参数(=== undefined
),如果抛出错误:
class Test {
constructor(id) {
if(id === undefined) {
throw new Error('id is undefined');
}
}
}
new Test();

答案 1 :(得分:1)
您可以使用
constructor(id) {
if (typeof id != "number")
throw new Error("missing numeric id argument");
…
}
或
constructor(id) {
if (arguments.length < 1)
throw new Error("missing one argument");
…
}