mon*_*d98 4 javascript arrays enums object typescript
阅读打字稿中的'enum',我看到这段代码编译成了javascript.
var Season = [];
Season[Season["Spring"] = 0] = "Spring";
Season[Season["Summer"] = 1] = "Summer";
Season[Season["Fall"] = 2] = "Fall";
Season[Season["Winter"] = 3] = "Winter";
console.log(Season.Spring); // 0
console.log(Season[0]); // Spring
Run Code Online (Sandbox Code Playgroud)
并且,如果我在第一行将Season改为{}空objext,这也有效,这是有道理的.我不知道发生了什么事.这是什么?
编辑:是的.这不是编译器生成的.编译器使用空对象.但是,如果我将其更改为空数组.它仍然有效.我的问题是为什么数组也很好.起初我的问题包括两个版本,但有人编辑了问题并删除了对象使用版本.
这个:
Season[Season["Spring"] = 0] = "Spring";
Season[Season["Summer"] = 1] = "Summer";
Season[Season["Fall"] = 2] = "Fall";
Season[Season["Winter"] = 3] = "Winter";`
Run Code Online (Sandbox Code Playgroud)
在Season对象中创建八个属性:
Season["Spring"] = 0;
Season["Summer"] = 1;
Season["Fall"] = 2;
Season["Winter"] = 3;
Season[0] = "Spring";
Season[1] = "Summer";
Season[2] = "Fall";
Season[3] = "Winter";
Run Code Online (Sandbox Code Playgroud)
在那个季节之后可以要求: