zoukankan      html  css  js  c++  java
  • ts类型-枚举

    枚举是组织收集有关联变量的一种方式,通过组织特殊类型的变量,使得代码更易读。

    数字类型

    enum Weekday {
      Monday,
      Tuesday,
      Wednesday,
      Thursday,
      Friday,
      Saturday,
      Sunday
    }
    
    Weekday.Monday // 0
    Weekday.Tuesday // 1
    

    数字类型的枚举默认从数值0开始,依次递增。当然也可以通过赋值的方式改变这个值

    enum Weekday {
        Monday=1,
        Tuesday,
        Wednesday,
        Thursday = 2,
        Friday,
        Saturday,
        Sunday
    }
    
    Weekday.Monday // 1
    Weekday.Tuesday // 2
    Weekday.Wednesday // 3
    Weekday.Thursday // 2
    
    

    说明:枚举值是只读的

    字符串类型

    enum Codes {
        SUCCESS = '10000',
        NO_PRO = '10002',
        ERROR = '20000',
        LOW_VERSION = '20001'
    }
    
    // code 是服务端返回的
    if(code === Codes.LOW_VERSION) {
        // 处理版本过低的逻辑
    }
    

    常量枚举

    可以使用const关键字定义常量枚举

    const enum Codes {
        SUCCESS = '10000',
        NO_PRO = '10002',
        ERROR = '20000',
        LOW_VERSION = '20001'
    }
    
    const success = Codes.SUCCESS // '10000'
    

    使用常量定义枚举的好处是编译后的代码更加简洁,性能也更好一些

    有静态方法的枚举

    枚举类型不仅可以定义数值和字符串,使用enum + namespace 的声明的方式可以向枚举类型添加静态方法

    enum Weekday {
        Monday,
        Tuesday,
        Wednesday,
        Thursday,
        Friday,
        Saturday,
        Sunday
      }
      
      namespace Weekday {
          // 验证是否是工作日
        export function isBusinessDay(day: Weekday) {
          switch (day) {
            case Weekday.Saturday:
            case Weekday.Sunday:
              return false;
            default:
              return true;
          }
        }
      }
      
      // 使用
      Weekday.isBusinessDay(Weekday.Monday); // true
      Weekday.isBusinessDay(Weekday.Sunday); // false
    
    常用网站: SegmentFault | GitHub | 掘金社区
  • 相关阅读:
    SQL语句大全
    软件设计方法
    统计在线的用户
    解放web程序员的输入验证
    OUTLOOK菜单类
    在asp.net 2.0中结合母板页meta,Tiele重置
    微软自带AJAX的用法
    在asp.net 2.0中发送邮件
    js编写的语法高亮引擎
    有关模版MasterPage的问题
  • 原文地址:https://www.cnblogs.com/yesyes/p/15412530.html
Copyright © 2011-2022 走看看