04:TypeScript 枚举取值原理
2023-07-19 09:10:57
99

文章封面
  1. 用例
enum Status {
  "auto",
  "open",
  "close",
}
console.log(Status.close);
console.log(Status["close"]);
console.log(Status[1]);
  1. 编译
// 1-声明变量 Status
var Status;

(function (Status) {
    // 3- Status["auto"] = 0; 设置Status属性auto = 0,表达式会返回 0
    Status[Status["auto"] = 0] = "auto";
    // 4- Status[0] = "auto"; 设置Status属性0 = "auto"

    // 下同上
    Status[Status["open"] = 1] = "open";
    Status[Status["close"] = 2] = "close";
})(Status || (Status = {})); // 2-传入立即执行函数,变量为空初始化为对象

/**
最终Status:
  {
    "0": "auto",
    "1": "open",
    "2": "close",
    "auto": 0,
    "open": 1,
    "close": 2
  }
*/

console.log(Status.close);
console.log(Status["close"]);
console.log(Status[1]);
如有帮助,点赞鼓励一下吧!
评论
一键登录