位置: IT常识 - 正文

【TypeScript入门】TypeScript入门篇——枚举(enum)(typescript教程推荐)

编辑:rootadmin
【TypeScript入门】TypeScript入门篇——枚举(enum)

推荐整理分享【TypeScript入门】TypeScript入门篇——枚举(enum)(typescript教程推荐),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:typescript教程推荐,typescript 入门,typescript教程推荐,typescripte,typescript ??,typescript教程推荐,typescript implements,typescript 入门教程,内容如对您有帮助,希望把文章链接给更多的朋友!

        TypeScript是一种静态类型、可选的编程语言,它在JavaScript的基础上添加了类型检查、接口、枚举等新特性,可以让开发更加高效、代码更加健壮。在TypeScript中,枚举是一种特殊的数据类型,它可以用来定义一组命名的常量,让代码更具可读性和可维护性。        

        枚举( mei ju ) : 枚举的意思就是一一列举, 把所有情况都列举出来, 那么取值的时候, 只有这几个可以使用, 其他的都不行。

        计算机语言里面的枚举: 把所有的常量放在一个集合内, 让若干个常量变成一组有关联的内容。

目录

一、枚举的基本语法

二、自定义枚举值

三、访问枚举值

四、反向映射

五、const枚举

六、常数枚举表达式 

七、外部枚举

        TypeScript枚举(enum)是一种用于定义命名常量集合的数据类型。在TypeScript中,枚举提供了一个方便的方法来为一组有限的值命名,并将它们封装在一个命名空间中。

一、枚举的基本语法

        TypeScript枚举使用关键字“enum”来定义一个新的枚举类型。例如:

enum Direction { Up, Down, Left, Right}

        这段代码定义了一个名为Direction的枚举类型,其中包含四个常量:Up、Down、Left和Right。默认情况下,这些常量的值从0开始自动递增。

【TypeScript入门】TypeScript入门篇——枚举(enum)(typescript教程推荐)

案例实现:

enum Direction { Up, Down, Left, Right,}const move = (direction: Direction) => { switch (direction) { case Direction.Up: console.log('Moving up'); break; case Direction.Down: console.log('Moving down'); break; case Direction.Left: console.log('Moving left'); break; case Direction.Right: console.log('Moving right'); break; default: break; }}move(Direction.Up); // 打印 "Moving up"

        在这个例子中,我们定义了一个 Direction 枚举类型,包含了 Up、Down、Left 和 Right 四个元素。然后我们定义了一个 move 函数,接受一个 Direction 类型的参数,根据参数不同输出不同的消息。 当我们调用 move(Direction.Up) 时,会输出 Moving up,因为此时传递的参数是枚举类型 Direction 中的 Up 元素。如果传递的参数不是 Direction 类型中的任何一个元素,那么在 switch 语句的 default 分支中不会有任何输出。

二、自定义枚举值

        您可以通过自定义枚举值来覆盖默认的自动递增行为。例如:

enum Direction { Up = 1, Down, Left, Right}

        在这个例子中,Direction.Up的值为1,而其余的常量的值分别为2、3和4。

三、访问枚举值

        要访问枚举值,只需使用点表示法即可。例如:

console.log(Direction.Up); // 输出1console.log(Direction.Down); // 输出2四、反向映射

        TypeScript枚举还提供了反向映射功能,允许您通过枚举值获取其对应的常量名称。例如:

console.log(Direction[1]); // 输出Upconsole.log(Direction[2]); // 输出Down五、const枚举

        TypeScript还支持const枚举,这种类型的枚举在编译时被删除并内联到引用它们的地方。这可以提高性能和减少生成的代码大小。例如:

const enum Direction { Up, Down, Left, Right}console.log(Direction.Up); // 直接输出0,没有额外的代码生成六、常数枚举表达式 

        常数枚举表达式是指可以在编译时求值的表达式。这些表达式包括数字字面量、其他常数枚举表达式以及一些算术运算符。使用常数枚举表达式可以提高性能并减少生成的代码大小。例如:

enum E { A = 1 << 0, B = 1 << 1, C = A | B}

        在这个例子中,常量E.C的值在编译时计算为3(即1 | 2)。

七、外部枚举

        外部枚举使用declare关键字定义,文档描述:外部枚举用来描述已经存在的枚举类型的形状,意思就是说外部枚举用来描述当前环境中存在的枚举对象。外部枚举和普通枚举的一个区别就是,在外部枚举里面没有初始化的枚举成员会当成一个计算值,而在普通枚举里面则是一个常量。

declare enum Enum { A = 1, B, C = 2}

        外部枚举和非外部枚举之间有一个重要的区别,在正常的枚举里,没有初始化方法的成员被当成常数成员。 对于非常数的外部枚举而言,没有初始化方法时被当做需要经过计算的。

        总之,TypeScript中的枚举类型是一种包含有限数量的命名常量的数据类型,在编译后会被转换为相应的JavaScript代码。枚举类型可以帮助我们定义一组具有意义的常量,可以通过名称或值调用这些常量,提高代码的可读性和可维护性。在TypeScript中,枚举类型有两种定义方式:数字枚举和字符串枚举。数字枚举使用数字作为枚举值,字符串枚举使用字符串作为枚举值。枚举类型还支持反向映射、枚举成员类型、枚举合并等高级特性。

本文链接地址:https://www.jiuchutong.com/zhishi/300529.html 转载请保留说明!

上一篇:IndexError: invalid index of a 0-dim tensor. Use `tensor.item()` in Python

下一篇:热闻丨ChatGPT会替代你我吗?让它写了封情书后,我得到答案

  • 华为mate30能不能插u盘(华为mate30能不能用120w的充电)

    华为mate30能不能插u盘(华为mate30能不能用120w的充电)

  • 苹果11刷新率(苹果11刷新率是多少Hz)

    苹果11刷新率(苹果11刷新率是多少Hz)

  • qq字符sco是什么意思(qq字符ciao是什么意思)

    qq字符sco是什么意思(qq字符ciao是什么意思)

  • 账户异常被限制收款(账户异常被限制收款图片)

    账户异常被限制收款(账户异常被限制收款图片)

  • 苹果短信长按不出特效(苹果短信长按发送键没反应)

    苹果短信长按不出特效(苹果短信长按发送键没反应)

  • 淘宝特价版和淘宝是一家吗(淘宝特价版和淘宝互通吗)

    淘宝特价版和淘宝是一家吗(淘宝特价版和淘宝互通吗)

  • 抖音私信消息不显示(抖音私信消息不显示红点了)

    抖音私信消息不显示(抖音私信消息不显示红点了)

  • 微信租手机平台有哪些(微信租手机平台在哪里)

    微信租手机平台有哪些(微信租手机平台在哪里)

  • 充电五分钟通话两小时是哪款手机(充电五分钟 通话)

    充电五分钟通话两小时是哪款手机(充电五分钟 通话)

  • 微博悬浮窗口怎么设置(微博悬浮窗口怎么取消)

    微博悬浮窗口怎么设置(微博悬浮窗口怎么取消)

  • t568a和t568b的区别(t568a和t568b的区别线序)

    t568a和t568b的区别(t568a和t568b的区别线序)

  • 键盘段落感是什么意思(键盘段落感强好还是不好)

    键盘段落感是什么意思(键盘段落感强好还是不好)

  • 抖音小店可以绑定几个抖音号(抖音小店可以绑定0粉丝)

    抖音小店可以绑定几个抖音号(抖音小店可以绑定0粉丝)

  • 手机最上面的显示栏没有了怎么办(手机最上面的显示栏怎么调整位置)

    手机最上面的显示栏没有了怎么办(手机最上面的显示栏怎么调整位置)

  • 快手能查注册日期吗(快手查注册时间)

    快手能查注册日期吗(快手查注册时间)

  • 快手怎么添加收货地址(快手怎么添加收货地址在哪里)

    快手怎么添加收货地址(快手怎么添加收货地址在哪里)

  • qq不加好友怎么私聊(qq不加好友怎么看聊天记录)

    qq不加好友怎么私聊(qq不加好友怎么看聊天记录)

  • surface型号1796是什么(名称:surface pro 型号: 1796)

    surface型号1796是什么(名称:surface pro 型号: 1796)

  • 浏览器兼容模式怎么调(edge浏览器兼容模式)

    浏览器兼容模式怎么调(edge浏览器兼容模式)

  • yalal10什么手机(yalal10是什么手机)

    yalal10什么手机(yalal10是什么手机)

  • 手机云服务有用吗(手机云服务收费用吗)

    手机云服务有用吗(手机云服务收费用吗)

  • 荣耀note10充电多少w(荣耀note10 充电)

    荣耀note10充电多少w(荣耀note10 充电)

  • soul删除对话后对方能看到吗(soul删除对话后对方知道已读吗)

    soul删除对话后对方能看到吗(soul删除对话后对方知道已读吗)

  • 8p基带是高通的吗(苹果8p高通基带信号怎么样)

    8p基带是高通的吗(苹果8p高通基带信号怎么样)

  • 电脑右下角的弹窗广告来源查看教程(电脑右下角的弹窗怎么关)

    电脑右下角的弹窗广告来源查看教程(电脑右下角的弹窗怎么关)

  • u盘突然被写保护原因(u盘突然被写保护是坏了吗)

    u盘突然被写保护原因(u盘突然被写保护是坏了吗)

  • 初级税务师什么时候报名
  • 开普票需要交税多少
  • 餐饮业厨房设备专票可以抵税吗
  • 购买材料,收回会计分录
  • 纳税申报操作流程
  • 广告设计公司挣钱吗
  • 幼儿园收费怎么说
  • 附加税减免所得税汇缴的时候需要调整吗
  • 什么情况下用资本公积科目
  • 旅行社给游客买保险的步骤是什么
  • 人力资源服务费发票可以抵扣吗
  • 开发商要求业主签借款合同
  • 佣金的支付方式主要有什么
  • 企业国有资产无偿划转办法
  • 低值易耗品计入什么账户
  • 外币账户收款如何做账务处理呢?
  • 工会活动购买物品会计分录
  • 银行收取代发工资合法吗
  • 房地产企业预缴税款最新规定
  • 什么情况下需要写答
  • 开具增值税专用发票证明
  • 报关单出口退税联模板
  • 小规模纳税人收到专票有什么影响
  • 专项维修基金所得税可税前扣除吗?
  • 小型微利企业的企业所得税优惠政策
  • 发工资一定要交税吗
  • 账户禁用无法登录怎么办
  • 全部投资内部收益率
  • 企业开票附加税
  • linux系统的
  • php代码封装成dll
  • win11系统设置快捷键
  • 辅助生产成本如何结转
  • win10右键个性化显示该文件
  • npfmntor.exe - npfmntor是什么进程 有什么用
  • 免税企业税金及附加计算
  • 公司购买食品属于什么费用
  • 开源原则
  • 贸易公司结转销售成本凭证怎么做
  • 金融资产减值迹象
  • phpcms v9安装教程
  • 织梦dedecms如何升级ckeditor
  • php定义变量的方法
  • 电脑自学网站推荐
  • access如何设置宏的功能
  • 在mysql中子查询是
  • 企业股东变更流程及费用
  • 经营范围广告业务能开什么发票
  • 其他收益属于什么类科目
  • 餐饮毛利率多少为合理范围
  • 营业外收入影响所有者权益吗
  • 城市维护建设税属于中央还是地方
  • 跨年进项发票怎样账务处理
  • 关联企业费用分摊账务
  • 存货计提存货跌价准备
  • 劳务公司机械租赁费列入什么费用
  • 收到汽车抵账账务处理
  • 折现率算现值公式
  • 收付转三种凭证的限制类型
  • mysql索引实战
  • 手机如何使用windows
  • 电脑开机一直显示windowsxp
  • 灵活设置成员
  • linux0.11文件系统
  • win10周年版
  • 360修复win7
  • win7关掉wifi
  • Win10 Mobile10586.122更新了哪些内容?更新内容大全汇总
  • cocos2dx 3.17
  • android pageview
  • debug命令及其基本操作
  • 用python编写程序
  • python嵌套列表生成
  • ansible客户端需要装python
  • unity3d接入抖音广告api
  • listview提高效率
  • 如何查发票是否作废
  • 房产税季度缴纳还是月度
  • 郑州市国家税务局
  • 怎么查国税
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设