javascript - JavaScript 类构造函数中的默认枚举值

标签 javascript class enums

我有一个简单的类,我正在尝试弄清楚如何在构造函数中设置默认值:

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/

相关文章:

JavaScript 错误 - 未捕获的语法错误 : Unexpected identifier

javascript - 谷歌图表 API : Change color on hovering legend

Javascript 倒数计时器不会停在零,也不会在给定时间重新启动

javascript - react 并发 API 调用

c++ - 通过命令行获取 C++ 库的类名

arrays - swift 遵循 Stridable 后进入死循环

java - 从类中调用已实现的接口(interface)重写方法

c++ - 外部类 : undefined reference when porting from gcc 3. x 到 4.x

enums - 如何在没有模式匹配的情况下比较枚举

java - 我如何引用枚举的分组?基本的国际象棋游戏,想要有效地引用所有黑/白棋子