TypeScript 枚举类型

93 阅读1分钟

一,前言

1.enum是在typescript中新增的合法类型,是对JavaScript标准数据类型的一个补充。

2.enum的主要作用是可以为一组限定范围内数值赋予友好的名字。

二,enum介绍

1.enmu的基本形式如下

enum Animals {
	Dog,
	Cat,
	Pig,
}

2.根据值和定义形式主要可以分为三种类型:数字枚举字符串枚举常量枚举

三,数字枚举

1.枚举值为数字的为数字枚举

  enum Animals {
        Dog=1,
        Cat=2,
        Pig=3,
  }    

2.默认情况下,若不手动为枚举成员赋值,则会被定义成数字枚举,且从编号0开始递增为枚举成员赋值

     enum Animals {
                 Dog,
                 Cat,
                 Pig,
          }
     console.log(Animals.Dog)  //0
     console.log(Animals.Cat)  //1
     console.log(Animals.Pig)  //2

3.我们可以为其中的一个或多个手动赋值,之后的顺位按赋值的数值递增

enum Animals {
        Dog,
        Cow=5,
        Cat=2,
        Pig,
}

console.log(Animals.Dog)  //0
console.log(Animals.Cow)  //5
console.log(Animals.Cat)  //2
console.log(Animals.Pig)  //3

二,字符串枚举

1.枚举值为字符串的为字符串枚举

enum Animals {
        Dog="dog",
        Cat="cat",
        Pig="pig",  
    }

2.字符串枚举值要求每个字段的值都必须是字符串字面量,不能使用计算所得项

三,常数枚举

1.使用const enmu创建的枚举为常数枚举

    const enum Animals {
        Dog="dog",
        Cat="cat",
        Pig="pig",
    }

2.常数枚举和普通枚举的区别就是常数枚举本身会在编译的时候被删除,只会在使用到的地方,拿到相应的值进行替换。