如何在javascript中把Enum转换为字符串/数字

2,202 阅读2分钟

这篇文章介绍了如何在javascript/typescript中把Enum转换为String/Number,并附有一个例子。

Typescript Enum包含字符串和数字数据。

在这篇文章中,我们将讨论如何在typescript中把Enum数据类型转换为字符串或数字。

你也可以查看我以前的文章 typescript enumeration

Enum被称为枚举,它是一种新的语法,用于取代定义多个常量的声明,Enum类型只包含字符串和数字的常量。字符串是一组用双引号括起来的字符。

Enum是预定义的常量,可以使用enum关键字来创建。在typescript中,String可以按以下方式创建。让我们看看创建枚举类型的几种方法 简单枚举例子

enum WeekEnd {
Sunday,
Saturday
}
console.log(WeekEnd); // { '0': 'sunday', '1': 'saturday', sunday: 0, saturday: 1 }

正如你所看到的enum对象是用来存储两种类型的值--一种类型存储索引和enum字符串,另一种类型存储像字符串和enum一样的反向数据。

默认情况下,每个枚举常量被分配为从0,1开始的数字,即周日=0,周六=1。

带初始化字符串值的定义枚举

enum WeekEndMap {
Sunday = "sunday",
Saturday = "saturday"
}
console.log(WeekEndMap); // { Sunday: 'sunday', Saturday: 'saturday' }
console.log(typeof WeekEndMap); // object

让我们看看在javascript/typescript中把枚举值转换成字符串的例子。

如何在javascript中把枚举转换为字符串

这是一个简单的转换为字符串的转换。

在下面的代码中,Enum提供了enum键并返回字符串。

 var weekName: string = WeekEnd[WeekEnd.sunday];
console.log(weekName); // sunday
console.log(typeof weekName); // string

var weekName: string = WeekEndMap.Saturday;
console.log(weekName); // saturday
console.log(typeof weekName); // object

如何在javascript/typescript中把Enum转换为Number

Enum对象存储了两对数据,即key和value,其类型相反,而value是数字,为了将其转换为数字,Enum提供了enum key字符串并返回数字。

var weekEndNumber: number = WeekEnd['saturday'];
console.log(weekEndNumber); // 1
console.log(typeof weekEndNumber); // Number