javascript枚举自动递增?

sup*_*oon 1 javascript objective-c

在 objc 中,我可以像这样使用枚举:

typedef enum {
   STATE_A = 1,
   STATE_B,
   STATE_C,
   ......
   STATE_KK = 100,
   STATE_FF,
   ......
   STATE_XXX = 99999
} State;
Run Code Online (Sandbox Code Playgroud)

每个变量的值都会自动增加(与前一个相比)。

但在 javascript 中,我需要:

var State = {
   STATE_A: 1,
   STATE_B: 2,
   STATE_C: 3,
   ......
   STATE_KK: 100,
   STATE_FF: 101,
   ......
   STATE_XXX = 99999
}
Run Code Online (Sandbox Code Playgroud)

你看我需要为每个变量指定所有值,当你在那里有很多变量时这真的很糟糕,当你尝试在两者之间插入一个变量时它会变得更糟糕,所以你必须问自己(它的值是什么应该 ???)

我对 js 很陌生,真的很想知道是否有一种方法可以像我提到的 objc 等其他语言一样在 js 中使用 enum 。

谢谢 :)

Xav*_*ero 6

它有点丑,但你可以这样做:

var i=1;
var State = {
   STATE_A: i++,
   STATE_B: i++,
   STATE_C: i++
}
Run Code Online (Sandbox Code Playgroud)