TS-2 enum

  • enum只用来声明数字就行了,字符串用联合类型最好,enum的值不能是对象类型
  • enum
enum A = {
  todo = 0,
  done, // 1
  deleted // 2
}

let status1 = A.todo
let status2 = 0
  • 用 enum 处理权限问题
enum Permission = {
  None = 0,
  Read = 1 << 0,      // 0001
  Write = 1 << 1,     // 0010
  Delete = 1 << 2,    // 0100
  Manage  = 1 << 3    // 1000
}

type User = {
  permission: Permission
}

const user: User = {
  permission: 0b0101
}

if(CanWrite(user.permission)){
  console.log('有写权限')
}
if(CanManage(user.permission)){
  console.log('有管理权限')
}
function CanWrite(p:Permission){
  return (p & Permission.Write) === Permission.Write
}
function CanManage(p:Permission){
  return (p & Permission.Manage) === Permission.Manage 
}
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容