总结 枚举(Enums)在编译时会生成一个独立的对象,可以通过枚举的名称来访问其对应的值,但会增加额外的代码量和内存占用。 常量枚举(Const Enums)在编译时会被完全内联到使用它们的地方,有助于减少生成的 JavaScript 代码的大小并提高性能,但在运行时无法通过枚举的名称来访问其对应的值。
const direction: Direction = Direction.up; 此示例中,我们使用 enum 关键字定义了枚举类型 Direction,它包含了四个枚举成员 Up、Down、Left 和 Right。在使用枚举成员时,可以像访问对象属性一样访问枚举成员。 如果想要为枚举成员设置初始值,可以直接在成员名称后面赋值。例如,让Up的值为 1,其它成员的值依次递增:...
首先,我们要定义一个常量枚举。常量枚举使用关键字const enum开头,下面是具体的代码: // 定义一个常量枚举,表示一些颜色constenumColor{Red=1,Green,Blue} 1. 2. 3. 4. 5. 6. 上面的代码定义了一个颜色常量枚举Color,包含了三种颜色的值。Red的值是1,而Green和Blue分别会被推导为2和3。 第二步:在代码...
constcoffee={name:'Espresso',size:Sizes[Sizes.Small],// 'Small'}; 很酷吧?但是,大多数时候您可能不需要这种反向映射功能,如果是这种情况,那么您当然可以从 const 立即引入您的代码库中受益。 以下是我们可以更改 Enum 的内容,在声明 const 之...
常量枚举的语法如下:const enum Color { Red = 0, Green = 1, Blue = 2 } 在上面的例子中,我们定义了一个名为Color的常量枚举类型,它有三个常量:Red、Green和Blue,分别对应整数值0、1和2。由于这是一个常量枚举,我们不能重新分配这些常量值。二、枚举和常量枚举的区别 1. 可变性:枚举的值是可变的,...
但是依然存在不足之处,比如DirectionNumberKeys类型是("Up" | "Down" | "Left" | "Right")[]、DirectionStringLength类型是number等等。因为枚举本身就是静态数据,这里期望的键类型应该是Tuple(元组)而不是Union Array(联合数组), 这也是const和enum的共性问题。
TypeScript 中 const 枚举 如第一章基础类型所讲:enum Enum { A = 1, B = 2} 会被编译为 var Enum;(function (Enum) { Enum[Enum["A"] = 1] = "A"; Enum[Enum["B"] = 2] = "B";})(Enum || (Enum = {}));因此会产生多余的代码,因此可以采用 const 枚举,即常量枚举...
常数枚举是使用 const enum 定义的枚举类型: // 常数枚举 const enum Obj { o, b, j } 1. 2. 3. 4. 5. 6. 常数枚举与普通枚举的区别是,它会在编译阶段被删除,并且不能包含计算成员。 编译完成后看一下编译的结果: 注意,在常数枚举中,不能包含计算成员。
enum Person { name = "前端娱乐圈", age = 3 * 6 } 上面这种是会报错的,“含字符串值成员的枚举中不允许使用计算值”,枚举对象成员有字符串的则不能再设置其它枚举对象成员为计算的值(3 * 6)。但是可以直接写字面量的。下面我们会讲到计算
常数枚举是使用const enum定义的枚举类型: constenumDirections{Up,Down,Left,Right}letdirections=[Directions.Up,Directions.Down,Directions.Left,Directions.Right]; 常数枚举与普通枚举的区别是,它会在编译阶段被删除,并且不能包含计算成员。 上例的编译结果是: ...