🧪 Frontend Lab
交互式前端学习实验室

枚举与联合类型

typescript · beginner · 15 min · Step 1/2

枚举 vs 联合类型

Enum

enum Direction { Up, Down, Left, Right }
enum Color { Red = '#f00', Green = '#0f0', Blue = '#00f' }

const dir: Direction = Direction.Up;  // 0
const c: Color = Color.Red;           // '#f00'

联合类型(推荐)

type Direction = 'up' | 'down' | 'left' | 'right';
type Status = 'idle' | 'loading' | 'success' | 'error';

const dir: Direction = 'up';
const status: Status = 'loading';
现代 TS 更推荐字符串联合类型而非 enum,因为更轻量且 tree-shaking 友好。