相关疑难解决方法(0)

如何使用解构赋值来定义ES6中的枚举?

您可以使用解构分配来定义ES6中的枚举,如下所示:

var [red, green, blue] = [0, 1, 2];
Run Code Online (Sandbox Code Playgroud)

相反,我希望解构分配的右侧是动态的.例如:

var MAX_ENUM_SIZE = 32;
var ENUM = new Array(MAX_ENUM_SIZE);
for (var i = 0; i < MAX_ENUM_SIZE; i++) ENUM[i] = i;

var [red, green, blue] = ENUM;
Run Code Online (Sandbox Code Playgroud)

不幸的是,这似乎是一个黑客.如果我希望将来有更大的枚举怎么办?因此,我正在考虑使用迭代器进行解构赋值,如下所示:

var [red, green, blue] = enumeration(/* I don't want to specify size */);
Run Code Online (Sandbox Code Playgroud)

但是,我不认为可以使用迭代器进行解构赋值[需要引证].有没有办法实现这个目标?

javascript enums iterator destructuring ecmascript-6

11
推荐指数
1
解决办法
261
查看次数