美文网首页
JavaScript中的Enum枚举类型数据

JavaScript中的Enum枚举类型数据

作者: 长城_changcheng | 来源:发表于2019-03-10 01:38 被阅读0次

一、枚举类型介绍

1、枚举类型

如果接触过其它语言或者TypeScript,大概对于枚举类型有一些了解。枚举类型是什么,在计算机学术界的定义繁奥且复杂,具体请参考百度百科-枚举,在这里我将其定义理解为:枚举是一种定义成员与值的映射关系的有穷序列集的数据类型。当然,在实际应用中能够对其理解的更加深入。

2、ECMAScript中的枚举类型

在ECMAScript2015标准中尚未实现支持原生的枚举类型,但enum一直作为一个保留关键字而存在,将来有望实现原生支持。但是TypeScript作为JavaScript的超集,提前实现了对枚举类型的语法支持。下面的实例均是以TypeScript语法为例的。

3、枚举类型的特性
(1)自增性
enum Direction {
    Up,
    Down
}
console.log(Direction[0]);   // 输出结果“Up”
console.log(Direction[1]);   // 输出结果“Down”

注释:如果不对成员进行初始化赋值,则其值将会从0开始自动递增。这种特性在实际运用中是非常有用的。

(2)映射性
enum Direction {
    Up,
    Down = "下"
}
console.log(Direction.Up);           // 输出结果0
console.log(Direction[0]);           // 输出结果0
console.log(Direction.Down);      // 输出结果1
console.log(Direction["下"]);      // 输出结果undefined

注释:在Typescript中,字符串枚举并不具有相互映射的特性。目前还尚不清楚为什么Typescript不支持这种特性,但我仍然认为它十分有用,比如在进行文本国际化的时候。

4、在JavaScript中使用枚举

由于ECMAScript不提供对Enum类型的原生支持,所以理所当然JavaScript也不支持Enum类型,但JavaScript却可以模拟出类似的特性来,请看下面示例:

var Direction = {
    left: 0,
    right: 1,
    top: "上",
    bottom: "下",
    0: left,
    1: right,
    上: "top",
    下: "bottom"
};
console.log(Direction.left);    // 输出结果为:0,
console.log(Direction[0]);     // 输出结果为:"left"
console.log(Direction["上"]);     // 输出结果为:"top"
console.log(Direction["下"]);     // 输出结果为:"bottom"

上述示例中的Direction对象就可以视作一个Enum类型。

相关文章

  • JavaScript中的Enum枚举类型数据

    一、枚举类型介绍 1、枚举类型 如果接触过其它语言或者TypeScript,大概对于枚举类型有一些了解。枚举类型是...

  • TypeScript10(枚举类型)

    在javaScript中是没有枚举的概念TS帮我们定义了枚举这个类型 使用枚举 通过enum关键字定义我们的枚举 ...

  • Typescript学习第一天

    枚举 enum类型是对JavaScript标准数据类型的一个补充。 像C#等其它语言一样,使用枚举类型可以为一组数...

  • Rust 编程语言-6-枚举和模式匹配

    6. Enum和Pattern matching 6.1 Enum枚举 IP地址枚举 消息类型枚举:可以看到枚举中...

  • 枚举

    枚举数据自定义的数据类型(元组)枚举语法:enum 枚举名称{case 名称case 名称...}

  • C#入门笔记(二)

    0x00 枚举 枚举是一组命名整型常量。枚举类型是使用 enum 关键字声明的。C# 枚举是值数据类型。 enum...

  • Typescript(十二)Enum 枚举类型

    Typescript中的枚举(enum)可以参考C#中的枚举(enum)类型,毕竟都是微软开发的语言。 枚举这个数...

  • Python_枚举

    一、枚举 Enum类 Python中所有枚举类型都是enum模块下的Enum类的子类。 枚举中的标识最好全部使用大...

  • 【TS基础】数据类型及特性讲解—接口

    数据类型 JS 七种类型 + 枚举 + any + void + never 1、 枚举(enum)可以这样理解,...

  • 在学习swift的一些笔记(七)

    OC与Swift中的枚举 OC的枚举NS_ENUM NS_ENUM : 递增枚举, 每个枚举类型即便不是每个都赋值...

网友评论

      本文标题:JavaScript中的Enum枚举类型数据

      本文链接:https://www.haomeiwen.com/subject/cppjpqtx.html