TypeScript的枚举与类型约束
// 定义一个简单的枚举
enum Direction {
Up = 1,
Down,
Left,
Right
}
// 使用枚举进行类型约束
function move(direction: Direction) {
switch (direction) {
case Direction.Up:
console.log('向上移动');
break;
case Direction.Down:
console.log('向下移动');
break;
case Direction.Left:
console.log('向左移动');
break;
case Direction.Right:
console.log('向右移动');
break;
default:
console.log('无效的移动方向');
break;
}
}
// 正确使用枚举值
move(Direction.Up); // 输出: 向上移动
// 错误使用枚举值的尝试
// move(5); // 编译错误: 类型不匹配
这段代码定义了一个名为Direction
的枚举,并使用它来定义move
函数的参数类型。这样可以确保move
函数只接受有效的Direction
枚举值。如果尝试传递一个不在枚举范围内的值,TypeScript编译器将抛出一个错误,提示类型不匹配。这有助于在编译时而不是运行时发现错误,从而提高代码的可维护性和安全性。
评论已关闭