常用类型

发布于 2026-08-31

字面量类型

在 TypeScript 中使用字面量类型,可以更方便地定义字符串类型。

Literal Type(字面量类型)是 TypeScript 特有的类型系统特性,原生 JavaScript 中并没有这个概念。

在 TypeScript 中,字面量类型允许将变量的类型约束为某个特定的具体值(字符串、数字、布尔值、大整数等),而不仅仅是宽泛的 string 或 number。

核心区别

  • JavaScript:只有基础数据类型(如 string、number、boolean)和值本身。虽然有 const 声明常量,但 JavaScript 的类型系统是动态的,没有静态类型检查器来区分 string 类型和具体字符串值构成的类型。
  • TypeScript:引入了静态类型系统,支持将具体的值作为类型使用。例如,let 声明的变量可以是通用类型,而字面量类型常与 const 联合使用,将变量收窄为唯一确定的值。

常见应用场景

  • 联合类型模拟枚举:限定变量只能取几个特定字符串中的某一个,例如 type Direction = "up" | "down" | "left" | "right";。
  • 配置项约束:确保函数只能接收特定的标志位或模式参数。
  • 类型收窄(Narrowing):配合 switch 或 if 语句,让 TypeScript 自动推导更精确的类型。