MST

星途 面试题库

面试题:TypeScript中如何根据状态类型设计有效枚举

假设你正在开发一个电商系统,订单状态有'待支付'、'已支付'、'已发货'、'已完成'、'已取消'。请使用TypeScript设计一个合适的枚举类型来表示这些订单状态,并解释为什么这样设计能满足选择有效状态类型的原则。
13.2万 热度难度
前端开发TypeScript

知识考点

AI 面试

面试题答案

一键面试
// 定义订单状态枚举
enum OrderStatus {
    PENDING_PAYMENT = '待支付',
    PAID = '已支付',
    SHIPPED = '已发货',
    COMPLETED = '已完成',
    CANCELED = '已取消'
}

这样设计能满足选择有效状态类型的原则,原因如下:

  • 清晰性:使用枚举类型能够清晰地定义所有可能的订单状态,每个状态都有明确的名称,便于代码阅读和理解。当在代码中使用这些状态时,开发者能够一目了然地知道其代表的含义。
  • 类型安全性:TypeScript的枚举类型提供了类型检查。如果代码中尝试给订单状态赋予一个不在枚举中的值,TypeScript编译器会报错,这确保了订单状态值的有效性,避免了因错误赋值导致的潜在问题。
  • 可维护性:当需要对订单状态进行修改,比如添加新状态或者修改现有状态的名称时,只需在枚举定义处进行改动,而不需要在所有使用这些状态的地方逐一修改,提高了代码的可维护性。