面试题答案
一键面试使用类型字面量和联合类型创建精确字符串类型示例
在TypeScript中,可以这样定义颜色类型:
type Color ='red' | 'green' | 'blue';
let myColor: Color ='red';
// 以下代码会报错,因为'yellow'不在定义的Color类型范围内
// let myColor: Color = 'yellow';
优势
- 类型安全:普通字符串类型可以赋值任意字符串值,而使用联合类型定义的精确字符串类型,在编译时就能检测出不合法的值,避免在运行时出现错误。例如,上述代码中如果尝试将
'yellow'
赋值给myColor
,TypeScript编译器会报错。 - 明确意图:通过精确的类型定义,代码阅读者可以清楚知道该变量预期接受的值范围,提高代码的可读性和可维护性。在大型项目中,这种清晰的类型定义有助于团队成员快速理解代码逻辑。