TypeScript中,联合类型可以取代枚举么?

TypeScript中的联合类型,可以联合各种基础类型和组合类型,比如:

type Direction = 'top' | 'left' | 'bottom' | 'right';
type code = 200 | 201 | 202 | 203 | 403 | 404 | 500;
type sex = 'male' | 'female';

这样看来联合类型和枚举的表现和用法都很相似,那么可不可以使用联合类型取代枚举呢

比如下面的案例

type code = '200' | '203' | '204' | '403' | '404';
const res: {code: ocde} = {code: "203"};

switch (res.code){
    case "202": break;
    case "203": break;
    case "204": break;
    case "403": break;
    case "404": break;
    default: break;

这样的用法和枚举差不多,在编辑器中也有智能提示和自动补全

阅读 4k
2 个回答

完全可以的
枚举适合用在你想解释这些值的场景下,这样用起来就更加语义化

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进