TypeScript 的类型系统帮助我们更清晰地表达数据结构。常见类型包括原始类型、数组、元组、枚举、联合类型和字面量类型。
原始类型
let title: string = "TypeScript";
let count: number = 10;
let enabled: boolean = true;
let big: bigint = 9007199254740991n;string 表示文本,number 表示整数和浮点数,boolean 表示真假值。
数组
数组可以用两种常见方式声明。
let numbers: number[] = [1, 2, 3];
let names: Array<string> = ["Alice", "Bob"];如果数组中元素类型固定,推荐明确写出元素类型。
元组
元组适合表达固定长度、固定位置含义的数据。
let user: [string, number] = ["Alice", 25];
let option: [string, boolean?] = ["dark"];
let list: [number, ...string[]] = [1, "a", "b"];枚举
枚举用于定义一组命名常量。
enum Color {
Red,
Green,
Blue,
}
const favorite: Color = Color.Green;实际项目中也常用联合字面量代替枚举。
type Direction = "up" | "down" | "left" | "right";联合类型
联合类型表示一个值可以是多种类型之一。
let id: string | number;
id = "u_1";
id = 1001;联合类型很适合处理 API 参数、表单输入和状态值。
字面量类型
字面量类型让变量只能取指定值。
type Gender = "male" | "female";
type Status = "idle" | "loading" | "success" | "error";它可以让状态建模更安全,也能减少魔法字符串带来的错误。