我有一个简单的类,我正在尝试弄清楚如何在构造函数中设置默认值:
var Foo = function(bar = Foo.someEnum.VAL1) {
this.bar = bar;
someEnum = {VAL1 : 1, VAL2: 2};
}
并像这样使用它:
var myFoo = new Foo(Foo.someEnum.VAL1);
但这显然是错误的。设置默认枚举值的正确方法是什么,或者我是否需要将默认值设置为 null,并在构造函数中检查 null 并进行相应设置?
澄清一下,bar 是 Foo 类的枚举。该类中还有其他未显示的属性。另外,更新了类代码。
最佳答案
如果您想让 bar 成为可选参数,您可以尝试此操作:
function Foo(bar) {
this.bar = bar || Foo.enum.VAL1; //If bar is null, set to enum value.
}
//Define static enum on Foo.
Foo.enum = { VAL1: 1, VAL2: 2, VAL3: 3 };
console.log(new Foo().bar); //1
console.log(new Foo(Foo.enum.VAL3).bar); //3
关于javascript - JavaScript 类构造函数中的默认枚举值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35735811/