# TypeScript enum 和联合类型怎么选

URL: https://caijiao.org/how-to/javascript/typescript-enum-vs-union
Source: docs/how-to/javascript/typescript-enum-vs-union.md
Description: TypeScript enum 和联合类型怎么选：前端项目多数场景用字符串联合类型更轻量，需运行时对象时再考虑 enum。 示例可直接复制到浏览器或项目代码中，并附相关教程、工具入口。

## 快速答案

前端项目多数场景用字符串联合类型更轻量，需运行时对象时再考虑 enum。

```js
type Status = 'pending' | 'done' | 'failed';
```

## 使用要点

- TypeScript 只在编译期提供保护，接口返回值仍要做运行时校验。
- 类型收窄写清楚以后，再把数据交给业务函数，减少后续的断言。

## 相关内容

- [JavaScript / TypeScript 问题](/how-to/javascript/)
- [JavaScript 教程](/javascript/)
- [TypeScript 教程](/ts/)
- [JSON Formatter](/tool/json-formatter)
- [JSON Validator](/tool/json-validator)
