在 TypeScript 中,字面量类型是一种特殊的类型,它表示一个具体的值。字面量类型可以用于约束变量、函数参数或对象属性的取值范围,使得代码更加明确和类型安全。
以下是字面量类型的主要用法和示例:
1. 字符串字面量类型:
let status: "success" | "error"; status = "success"; // 合法 // status = "failure"; // 错误,因为只能是 "success" 或 "error"
这里
2. 数字字面量类型:
let numberLiteral: 42 | 87; numberLiteral = 42; // 合法 // numberLiteral = 10; // 错误,因为只能是 42 或 87
3. 布尔字面量类型:
let truthyOrFalsy: true | false; truthyOrFalsy = true; // 合法 // truthyOrFalsy = false; // 合法 // truthyOrFalsy = 0; // 错误,因为只能是 true 或 false
4. 联合字面量类型:
type Gender = "male" | "female"; let userGender: Gender; userGender = "male"; // 合法 // userGender = "other"; // 错误,因为只能是 "male" 或 "female"
在类型别名中使用字面量类型,可以将多个字面量类型联合起来,形成更复杂的类型。
5. 对象字面量类型:
type Point = { x: 10, y: 20 }; let fixedPoint: Point; fixedPoint = { x: 10, y: 20 }; // 合法 // fixedPoint = { x: 5, y: 15 }; // 错误,因为只能是 { x: 10, y: 20 }
在对象字面量类型中,可以指定每个属性的确切值。
字面量类型可以在许多场景中提供更严格的类型检查,确保代码的正确性。在实际应用中,字面量类型常常与联合类型和类型别名结合使用,以创建更复杂和精确的类型定义。