跳到主要内容

举例子说明TypeScript的Enum枚举类型?

参考答案:

TypeScript中的enum类型用于创建一组命名的数字常量。默认情况下,从0开始为每个枚举成员分配一个值,但你也可以手动指定它们的值。

下面是一个简单的例子,展示了如何在TypeScript中使用enum类型:

// 定义一个Direction枚举类型
enum Direction {
    Up,    // 默认值为0
    Down,  // 默认值为1
    Left,  // 默认值为2
    Right  // 默认值为3
}

// 使用枚举类型
let myDirection: Direction = Direction.Up;

// 你可以通过枚举名称和成员名称来访问枚举值
console.log(Direction.Up);    // 输出: 0
console.log(Direction[0]);    // 输出: "Up"

// 你也可以手动指定枚举成员的值
enum Color {
    Red = 1,
    Green = 2,
    Blue = 4,
    Yellow = 8
}

let myColor: Color = Color.Green;
console.log(myColor);  // 输出: 2

在这个例子中,我们创建了两个枚举类型:DirectionColorDirection枚举的每个成员都被赋予了默认的值(从0开始),而Color枚举的每个成员都被赋予了手动指定的值。

需要注意的是,虽然枚举成员在类型上是有区别的,但它们的值在运行时仍然是数字。这意味着你可以将枚举成员与数字进行比较,或者将数字赋值给枚举变量。

例如:

let directionValue: number = Direction.Up;

if (directionValue === 0) {
    console.log("Direction is Up");
}

directionValue = 1;
if (directionValue === Direction.Down) {
    console.log("Direction is Down");
}

在这个例子中,我们将Direction.Up的值(0)赋给了directionValue变量,然后将其与数字0进行比较。同样,我们也将数字1赋给了directionValue变量,然后将其与Direction.Down进行比较。