使用Javascript 创建枚举类型(enum)

使用Javascript 创建枚举类型(enum)

1. 枚举类型的定义

是指将变量的值一一列出来,变量的值只限于列举出来的值的范围内。

2. typescript中的枚举类型

enum Role{
    
    
  ADMIN,
  VISITER,
  EMPLOYEE
}

编译成ES5后的代码为

var Role;
(function (Role) {
    
    
    Role[Role["ADMIN"] = 0] = "ADMIN";
    Role[Role["VISITER"] = 1] = "VISITER";
    Role[Role["EMPLOYEE"] = 2] = "EMPLOYEE";
})(Role || (Role = {
    
    }));

3. javascript模拟生成enum枚举类型

//使用ES6语法
    class Enum
    {
    
    
      constructor(arg)
      {
    
    
        const obj = {
    
    }
        if (Object.prototype.toString.call(arg).slice(8, -1) === "Object") {
    
    
          Object.entries(arg).forEach(([k, v]) => obj[obj[k] = v] = k)
        } else if (Array.isArray(arg)) {
    
    
          arg.forEach((v, index) => obj[obj[v] = index] = v)
        } else {
    
    
          throw new TypeError('class Enum should receive a plain object or a array')
        }
        return obj
      }
    }

接收字符串数组为参数:

Enum
接收普通对象为参数:
在这里插入图片描述
读者可自行使用ES5语法进行尝试。

猜你喜欢

转载自blog.csdn.net/qq_41777791/article/details/108331913
今日推荐