• TypeScript 枚举类型


    function getResult(status) {
      if (status === 0) {
        return 'offline'
      } else if (status === 1) {
        return 'online';
      } else if (status === 2) {
        return 'deleted'
      }
      return 'error'
    }

    这种代码很常见,但是这种并不是很直观,比如 status === 0 到底是什么意思。status === 1 到底是什么意思,其实是看不懂的。为了增加代码的可读性,可以这样写

    const Status = {
      offline: 0,
      online: 1,
      deleted: 2
    }
    
    function getResult(status) {
      if (status === Status.offline) {
        return 'offline'
      } else if (status === Status.online) {
        return 'online';
      } else if (status === Status.deleted) {
        return 'deleted'
      }
      return 'error'
    }
    
    const result = getResult(Status.offline);
    console.log(result);

    这样写更容易懂,也可以是用枚举类型

    /**
    * 枚举类型
    * 但是之前知道 OFFLINE 是 0,ONLINE 是 1
    * 直接这么写,他们是 0 ,1, 2 排列的
    * 如果给 OFFLINE 设置了值 OFFLINE = 1 ,对应的值是 1,2,3
    * 如果给 ONLINE 设置了值 ONLINE = 4 ,对应的值是 0, 4, 5
    */
    enum Status {
      OFFLINE,
      ONLINE,
      DELETED
    }
    
    function getResult(status) {
      if (status === Status.OFFLINE) {
        return 'offline'
      } else if (status === Status.ONLINE) {
        return 'online';
      } else if (status === Status.DELETED) {
        return 'deleted'
      }
      return 'error'
    }
    
    const result = getResult(Status.OFFLINE);
    console.log(result);

    枚举类型就解决这种场景,这种固定 0,1,2 什么的

  • 相关阅读:
    Codeforces Round #624 (Div. 3) D. Three Integers
    Codeforces Round #624 (Div. 3) C. Perform the Combo(前缀和)
    Codeforces Round #624 (Div. 3) B. WeirdSort(排序)
    Codeforces Round #624 (Div. 3) A. Add Odd or Subtract Even(水题)
    洛谷P1130红牌(简单DP)
    洛谷P1044栈(DP)
    Codeforces 1315C Restoring Permutation
    MATLAB字符串处理
    MATLAB矩阵操作和算术运算符
    MATLAB基本概念和变量
  • 原文地址:https://www.cnblogs.com/wzndkj/p/13155603.html
Copyright © 2020-2023  润新知