如何在typescript中比较Enum的字符串或数字?

在本教程中,我们将在 typescript/javascript 中比较字符串和枚举值。

下面的例子使用了比较运算符!==和==运算符来检查枚举值。

你可以查看我在 typescript Enum object 上的其他帖子。

比较Typescript的Enum中存在的字符串值

在下面的例子中,Enum被声明为颜色 语法 Enum包含一个字符串属性名和它的值

=== 操作符用于检查字符串与Enum对象的关系。

默认情况下,三等分运算符适用于相同类型的两个操作数。

在下面的例子中,字符串和枚举值被检查,因为它使用了类型转换两种类型的脚本

export enum Color {
    RED = "#FF0000",
    GREEN= "#008000",
    YELLOW = "#FFFF00",
    BLUE= "#0000FF",
    MAROON= "#800000"
console.log(Color.RED) //#FF0000
function isColorRed(color:string) {
  if(color ===  Color.RED){
    return true;
  return false;
console.log(isColorRed("#FF0000")) //true
console.log(isColorRed("RED"))// false

在Typescript中比较enum类型的数字

默认情况下,如果定义了字符串值,枚举会持有数字值

在下面的例子中,Chars Enum声明了常量,但没有声明它的值,数字被分配了(A=0, B=1, C=2, D=3)这里的数字与Enum数字值进行比较

下面是一个例子

export enum Chars {
console.log(Chars.A) //0
function isA(char:number) {
  if(char ===  Chars.A){
    return true;
  return false;
console.log(isA(1)) //false
console.log(isA(0))// true
复制代码
分类:
前端
标签: