TypeScript 中的枚举简介

Enums 是一种 TypeScipt 数据类型,允许组织基于数字的独特标识符集。

以下是如何定义一个简单的 enum:

1enum Transport {
2  train,
3  bus,
4  bike,
5  car
6}
7
8let myTransport = Transport.bus;
9console.log(myTransport); // 1

您可以通过其数字值或与其相关的字符串访问 enum 值:

 1enum Students {
 2  Ann,
 3  Bob,
 4  John,
 5  Zed
 6}
 7
 8console.log(Students['John']); // 2
 9
10console.log(Students[3]); // Zed

元素是基于零的,但您可以通过在第一个元素上设置您选择的数值来更改。

1enum Tools {
2  hammer = 1,
3  screwdriver,
4  saw,
5  wrench
6}
7
8console.log(Tools.saw); // 3

或者,您可以跳过到新的值,然后将遵循以下值:

1enum Tools {
2  hammer,
3  screwdriver,
4  saw = 100,
5  wrench
6}
7
8console.log(Tools.wrench); // 101

因此,您可以在不同的文件中添加到单元格,并可以继续添加到同一个单元格:

 1enum Sports {
 2  Soccer,
 3  Football,
 4  Basketball,
 5}
 6
 7// ...
 8
 9// Later or in another file:
10enum Sports {
11  Swimming = 3,
12  Running,
13  Hockey
14}

Enums 成为简单的 JavaScript 对象,以下是上述 Sports enum 结果对象的样子,通过在其上调用 JSON.stringify:

1console.log(JSON.stringify(Sports, null, '\t'));
 1{
 2    "0": "Soccer",
 3    "1": "Football",
 4    "2": "Basketball",
 5    "3": "Swimming",
 6    "4": "Running",
 7    "5": "Hockey",
 8    "Soccer": 0,
 9    "Football": 1,
10    "Basketball": 2,
11    "Swimming": 3,
12    "Running": 4,
13    "Hockey": 5
14}
Published At
Categories with 技术
Tagged with
comments powered by Disqus