字面量和联合类型的使用

65 阅读1分钟

字面量类型和联合类型是 TypeScript 中常用的类型特性,它们可以增强类型的表达能力。下面将详细介绍字面量类型和联合类型的使用。

  1. 字面量类型:

    • 字符串字面量类型:使用字符串字面量表示特定的字符串值。
    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 中的一个
    
  2. 联合类型:

    • 联合类型表示一个值可以是多种类型之一。
    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'; // 可以是字符串
    

通过使用字面量类型和联合类型,我们可以限制变量或函数参数的取值范围,提高类型的准确性和安全性。这些类型特性能够更精确地描述数据的结构和值的范围,从而增加了代码的可靠性和可读性。