TypeScript (八) 枚举

使用枚举我们可以定义一些带名字的常量。 使用枚举可以清晰地表达意图或创建一组有区别的用例。 TypeScript支持数字的和基于字符串的枚举。

// 数字枚举
enum Status {
    Uploading,
    Success,
    Failed
}
console.log(Status)
/**
 * 0: "Uploading"
1: "Success"
2: "Failed"
Failed: 2
Success: 1
Uploading: 0   可以反向映射
 * */
console.log(Status.Uploading)  //  0 //  默认 0 1 2
console.log(Status['Uploading']) // 0
console.log(Status[0])  // Uploading

enum Status2 {
    Uploading,
    Success = 2,
    Failed
}
console.log(Status2.Failed) // 3  // 0 2 3


// 字符串枚举
enum Message {
    Error = 'Sorry',
    Success = 'Ok',
    Failed = Error
}

console.log(Message.Failed) // Sorry

// 异构枚举
enum Result{
    Failed = 0,
    Success = 'success'
}

// 枚举成员类型  和 联合枚举类型

enum Animals {
    Dog = 1,
    Cat = 2,
}

interface Dog {
    type:Animals.Dog
}

enum Status3 {
    Off,
    On,
}
interface Light {
    status:Status3
}
// const light:Light = {
//     status:Animals.Dog
// }

const enum Animal { // 不会编译成对象了
    Dog = 1,
}

const dog  = Animal.Dog  // 1 编译直接获取值

在这里插入图片描述
在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值