TypeScript 枚举
一个 枚举 是一个特殊的“类”,代表一组常量(不可改变的变量)。
枚举有两种形式 string
和numeric
.让我们从数字开始。
数字枚举 - 默认
默认情况下,枚举将初始化第一个值 0
并对每个附加值加 1:
例子
枚举 CardinalDirections {
北,
东方,
南,
西方
}
让当前方向 = CardinalDirections.North;
// 记录 0
控制台.log(当前方向);
// 抛出错误,因为“North”不是有效的枚举
currentDirection = 'North'; // 错误:“North”不能分配给“CardinalDirections”类型。
亲自尝试 »
数字枚举 - 已初始化
您可以设置第一个数字枚举的值并使其从该值自动递增:
例子
枚举 CardinalDirections {
北 = 1,
东方,
南,
西方
}
// 记录 1
控制台.log(CardinalDirections.North);
// 记录 4
控制台.log(CardinalDirections.West);
亲自尝试 »
数字枚举 - 完全初始化
您可以为每个枚举值分配唯一的数值。这样值就不会自动增加:
例子
枚举状态代码 {
未找到 = 404,
成功 = 200,
接受 = 202,
错误请求 = 400
}
// 记录 404
控制台.log(状态代码.未找到);
// 记录 200
控制台.log(状态代码.成功);
亲自尝试 »
字符串枚举
枚举还可以包含 strings
。这比数字枚举更常见,因为它们具有可读性和意图。
例子
枚举 CardinalDirections {
北 = ‘北’,
East = “东”,
南 = “南”,
西 = “西方”
};
// 记录“北”
控制台.log(CardinalDirections.North);
// 记录“西方”
控制台.log(CardinalDirections.West);
亲自尝试 »
从技术上讲,你可以混合搭配字符串和数字 枚举 值,但建议不要这样做。