字面量类型和联合类型是 TypeScript 中常用的类型特性,它们可以增强类型的表达能力。下面将详细介绍字面量类型和联合类型的使用。
-
字面量类型:
- 字符串字面量类型:使用字符串字面量表示特定的字符串值。
typescriptCopy code type Status = 'success' | 'error' | 'pending'; const currentStatus: Status = 'success'; // 只能是 'success'、'error' 或 'pending' 中的一个- 数字字面量类型:使用数字字面量表示特定的数字值。
typescriptCopy code type EvenNumber = 2 | 4 | 6 | 8; const number: EvenNumber = 4; // 只能是 2、4、6 或 8 中的一个- 布尔字面量类型:使用布尔字面量表示特定的布尔值。
typescriptCopy code type TrueOrFalse = true | false; const value: TrueOrFalse = true; // 只能是 true 或 false 中的一个 -
联合类型:
- 联合类型表示一个值可以是多种类型之一。
typescriptCopy code type NumberOrString = number | string; let value: NumberOrString; value = 10; // 可以是数字 value = 'Hello'; // 可以是字符串- 联合类型可以用于参数、返回值、变量等多个场景。
typescriptCopy code function printId(id: number | string) { console.log(id); } function getValue(): number | string { return Math.random() < 0.5 ? 10 : 'Hello'; } let data: number | string; data = 42; // 可以是数字 data = 'World'; // 可以是字符串
通过使用字面量类型和联合类型,我们可以限制变量或函数参数的取值范围,提高类型的准确性和安全性。这些类型特性能够更精确地描述数据的结构和值的范围,从而增加了代码的可靠性和可读性。