我的编程空间,编程开发者的网络收藏夹
学习永远不晚

如何分析TypeScript枚举类型

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

如何分析TypeScript枚举类型

这篇文章给大家介绍如何分析TypeScript枚举类型,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。

    1.概述

    所谓的枚举类型就是为一组数值赋予名字。

    enum类型在C++、Java语言中比较常见,TypeScriptJavaScript原有的类型基础上也增加了enum类型。

    比如我们需要定义一组角色,需要使用数字表示,就可以使用如下代码定位:

    enum role{    STUDENT,    TEACHER,    ADMIN}

    上面代码中我们定义了role为一个枚举类型,这个里面有是三个值,TypeScript会为每个值自动的分配序号,默认从0开始依次排列,它们的值依次为0 1 2。

    当然我们也可以自定义每个值,如果非全部定义则后面的值会根据前面的值自增。

    示例代码如下:

    enum role1 {    student = 1,    // 后面两个值依次为2 3    teacher,    admin,}enum role2 {    // 每个名具有指定的值    student = 1,    teacher = 3,    admin = 6,}

    2.数字枚举

    我们上面介绍的例子就是数字枚举类型,但是还有一个注意点就是如果某个字段使用了常量或者计算后的值 ,我们就必须设置紧跟着字段的初始值 ,否则将会抛出异常。

    示例代码如下:

    ;(function () {  // 定义一个函数  const getValue: () => number = (): number => {    return 0  }  enum role1 {    student = getValue(),    // teacher, // error 枚举成员必须具有初始化表达式。    // admin, // error 枚举成员必须具有初始化表达式。  }  const TEACHER_ROLE: number = 3  // 每个名具有指定的值  enum role2 {    student,    teacher = TEACHER_ROLE,    // admin, // error 枚举成员必须具有初始化表达式。  }})()

    2.1反向映射

    所谓的反向映射就是可以通过key访问到value,通过value访问到key。

    我们可以通过.名称或者['名称']的方式取到每个具体的值,也可以通过[数值]的方式取到每个数值对应的名称,

    示例代码如下:

    enum role {    student,    teacher,    admin,}console.log(role.admin) // 2console.log(role['teacher']) //1console.log(role[0]) //‘student'

    其实TypeScript中的枚举类型编译成JavaScript代码之后就是一个对象,我们将上面那个枚举类型编译一下,

    编译后的代码如下:

    "use strict";var role;(function (role) {    role[role["student"] = 0] = "student";    role[role["teacher"] = 1] = "teacher";    role[role["admin"] = 2] = "admin";})(role || (role = {}));

    这样看我们可能好理解,其实就是通过一个自调函数将值赋值给role对象,赋值之后如下:

    var role = {    "student": 0,    "teacher": 1,    "admin"  : 2,     0: "student",     1: "teacher",     2: "admin", }

    值得注意的是 反向映射仅仅支持在数字枚举 中,不支持在2.4版本中新增的字符串枚举 中。

    3.字符串枚举

    所谓的字符串枚举就是枚举中的每个字段的值必须都是字符串,或者是枚举中的其他字段,

    示例代码如下:

    enum Person {  name = '一碗周',  hobby = 'coding',  // 设置枚举中的字段作为值  myName = name,}console.log(Person.name, Person.myName) // 一碗周 一碗周

    4.const枚举

    在我们定义了普通枚举之后,被编译成JavaScript代码之后会创建一个对应的对象,如果使用枚举是增了增加程序的可读性,且并不需要编译之后的对象。在TypeScript1.4中增加了const枚举。

    const枚举被翻译为完全嵌入枚举 ,所谓的完全嵌入枚举就是编译之后没有对应的对象,只是从枚举中拿到对应你的值然后进行替换。定义const枚举只需要在普通枚举前面加上const关键字。

    示例代码如下:

    const enum role {    student,    teacher,    admin,}let admin = role.admin

    如上代码会被编译为如下:

    let admin = 2 ;

    关于如何分析TypeScript枚举类型就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看到。

    免责声明:

    ① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

    ② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

    如何分析TypeScript枚举类型

    下载Word文档到电脑,方便收藏和打印~

    下载Word文档

    猜你喜欢

    如何分析TypeScript枚举类型

    这篇文章给大家介绍如何分析TypeScript枚举类型,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。1.概述所谓的枚举类型就是为一组数值赋予名字。enum类型在C++、Java语言中比较常见,TypeScript在Ja
    2023-06-22

    如何理解TypeScript枚举类型

    本篇内容主要讲解“如何理解TypeScript枚举类型”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“如何理解TypeScript枚举类型”吧!前言:TypeScript 在 ES 原有类型基础上
    2023-06-25

    C#枚举类型举例分析

    本篇内容主要讲解“C#枚举类型举例分析”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“C#枚举类型举例分析”吧!C#枚举类型实例演示/* * Created by SharpDevelop.
    2023-06-17

    C#枚举类型的实例分析

    本篇内容主要讲解“C#枚举类型的实例分析”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“C#枚举类型的实例分析”吧!C#枚举类型实例是你学习C#枚举类型的捷径,那让我们开始吧:public enu
    2023-06-17

    java中枚举类型定义和重写枚举的示例分析

    这篇文章将为大家详细讲解有关java中枚举类型定义和重写枚举的示例分析,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。什么是枚举类型枚举类型(Enumerated Type) 很早就出现在编程语言中,它被用
    2023-05-30

    php如何实现枚举类型

    这篇文章主要介绍“php如何实现枚举类型”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“php如何实现枚举类型”文章能帮助大家解决问题。枚举类型优点枚举类型在编程中有很多优点,如下:可读性高:枚举类型
    2023-07-05

    C语言枚举类型如何定义

    C语言枚举类型可以使用关键字`enum`来定义。定义枚举类型的语法格式如下:```cenum 枚举类型名 {枚举常量1,枚举常量2,...};```其中,`枚举类型名`是自定义的枚举类型名称,可以根据实际需要进行命名。`枚举常量1`、`枚举
    2023-10-10

    详解在Go语言中如何实现枚举类型

    枚举类型是一种常用的数据类型,用于表示一组有限的、预定义的、具名的常量值。而在 Go 语言里是没有内置枚举类型的,所以本文将介绍如何实现 “枚举类型”,需要的可以参考一下
    2023-05-16

    Vue如何用枚举类型实现一个HTML下拉框

    本篇内容主要讲解“Vue如何用枚举类型实现一个HTML下拉框”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Vue如何用枚举类型实现一个HTML下拉框”吧!第一步: 编写下拉框需要的枚举类型 S
    2023-07-04

    java枚举enum和Enum类如何使用

    这篇文章主要介绍“java枚举enum和Enum类如何使用”,在日常操作中,相信很多人在java枚举enum和Enum类如何使用问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”java枚举enum和Enum类如
    2023-07-05

    C#泛型类概念举例分析

    这篇文章主要讲解了“C#泛型类概念举例分析”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“C#泛型类概念举例分析”吧!C# 泛型类封装不是特定于具体数据类型的操作。泛型类最常用于集合,如链接列
    2023-06-17

    python的集合类型举例分析

    本篇内容介绍了“python的集合类型举例分析”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!集合:无序不重复的元素的组合利用集合可以删除列表
    2023-06-21

    Typescript中数据类型的示例分析

    这篇文章将为大家详细讲解有关Typescript中数据类型的示例分析,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。是什么typescript和javascript几乎一样,拥有相同的数据类型,另外在jav
    2023-06-29

    编程热搜

    • Python 学习之路 - Python
      一、安装Python34Windows在Python官网(https://www.python.org/downloads/)下载安装包并安装。Python的默认安装路径是:C:\Python34配置环境变量:【右键计算机】--》【属性】-
      Python 学习之路 - Python
    • chatgpt的中文全称是什么
      chatgpt的中文全称是生成型预训练变换模型。ChatGPT是什么ChatGPT是美国人工智能研究实验室OpenAI开发的一种全新聊天机器人模型,它能够通过学习和理解人类的语言来进行对话,还能根据聊天的上下文进行互动,并协助人类完成一系列
      chatgpt的中文全称是什么
    • C/C++中extern函数使用详解
    • C/C++可变参数的使用
      可变参数的使用方法远远不止以下几种,不过在C,C++中使用可变参数时要小心,在使用printf()等函数时传入的参数个数一定不能比前面的格式化字符串中的’%’符号个数少,否则会产生访问越界,运气不好的话还会导致程序崩溃
      C/C++可变参数的使用
    • css样式文件该放在哪里
    • php中数组下标必须是连续的吗
    • Python 3 教程
      Python 3 教程 Python 的 3.0 版本,常被称为 Python 3000,或简称 Py3k。相对于 Python 的早期版本,这是一个较大的升级。为了不带入过多的累赘,Python 3.0 在设计的时候没有考虑向下兼容。 Python
      Python 3 教程
    • Python pip包管理
      一、前言    在Python中, 安装第三方模块是通过 setuptools 这个工具完成的。 Python有两个封装了 setuptools的包管理工具: easy_install  和  pip , 目前官方推荐使用 pip。    
      Python pip包管理
    • ubuntu如何重新编译内核
    • 改善Java代码之慎用java动态编译

    目录