我正在开发一个javascript项目,需要使用javascript“Enums”,意思是像:
这样的对象var WinnerEnum = {
Player1: 1,
Player2: 2,
Draw: 0
};
这对我很有用,但是,我不知道命名Enum的正确方法(根据惯例)是因为据我所知只有类名以大写字母开头(表示能够调用一个构造函数)。
JSHint还输出以下警告:
Missing 'new' prefix when invoking a constructor.
如果没有约定,我会很感激为枚举命名的好方法,这些枚举不会使它们与类名混淆。 更新2014 :JSHint不再这样做。
答案 0 :(得分:4)
这确实是命名枚举的正确方法,但枚举值应该是ALL_CAPS而不是UpperCamelCase,如下所示:
var WinnerEnum = {
PLAYER_1: 1,
PLAYER_2: 2,
DRAW: 0
};
这类似于枚举的Java's naming convention。
一些参考文献:
与一般的编码风格一样,你会发现人们以不同的方式做事,每种方式都有自己的一套正当理由。但是,为了让阅读和使用代码的人最简单,我建议使用具有最权威参考的样式,因此通常是最广泛采用的样式。
我找不到比谷歌的风格指南和上面的着作更具权威性的参考文献,这些参考文献是由那些认真考虑过枚举的人写的,但我很想听听任何更好的参考文献。
答案 1 :(得分:1)
根据Google的编码惯例,这是在javascript中命名枚举的正确方法。
根据要求here is a link。