我正在用Javascript重建一个旧Java项目,并意识到在JS中没有好的方法来执行枚举。用ES6在JavaScript中枚举
我能想出的最好的是:
const Colors = {
RED: Symbol("red"),
BLUE: Symbol("blue"),
GREEN: Symbol("green")
};
Object.freeze(Colors);
的const
保持Colors
被重新分配,并冻结它可以防止变异的键和值。我正在使用符号,因此Colors.RED
不等于0
,或除本身以外的任何其他内容。
这个配方有问题吗?有没有更好的办法?
(我知道这个问题有点重复的,但所有的previous Q/As都相当老了,ES6为我们提供了一些新的功能。)
这将是ES6一个完美的方法。你不必冻结它 – Nirus
@Nirus你做的,如果你不希望它被修改。 – zerkms
你有没有注意到[这个答案](https://stackoverflow.com/a/30058506/1048572)? – Bergi