TypeScript —枚举的应用

枚举的关键字:enum

语法:enum  枚举名{选项}

enum Sex{boy='男',girl='女'
}

如何使用枚举中的属性

enum Sex{boy='男',girl='女'
}function a2(sex:Sex){console.log(`张三的性别是:${sex}`)
}
a2(Sex.boy)

运行结果:

枚举的作用

1.提高代码可读性:通过使用枚举,我们可以给一组相关的常量赋予有意义的名称,使得代码更加易读易懂 例如:颜色

enum Color{Red:'#ff0000',Blue:'#0000ff',Green:'#00ff00'
}//使用颜色我们就可以利用枚举来直接使用
Color.Red //这里颜色是红色,方便看懂

2.约束取值范围:枚举类型可以限制变量的取值范围,只能从预定义的常量中选择。这样可以避免因为使用了不合法的取值而引发错误。例如,定义一个表示性别的枚举类型

enum Sex{boy='男',girl='女'
}function a2(sex:Sex){console.log(`张三的性别是:${sex}`)
}
a2(Sex.boy)

如果没有使用枚举来约束取值,那就有可能发生错误的情况:

function a(sex:string){console.log(`张三的性别是:${sex}`)
}
a('男')
a('双性')

运行结果:

3.增加代码可维护性:通过使用枚举,我们可以集中管理一组相关的常量,便于后续的维护和修改。当需要增加或修改常量时,只需修改枚举定义即可,而不需要在代码中逐个搜索和修改

枚举的默认值以及命名规范

枚举的默认值是0,之后就递增+1

枚举类名首字母大写,选项首字母大写

enum Week{Sunday, //默认从0开始Monday, //默认递增1Tuesday,Wednesday,Thursday,Friday,Saturday
}

枚举赋值的错误演示

enum Week{// 选项首字母大写Sunday, //默认从0开始Monday, //默认递增1Tuesday=0,Wednesday,Thursday,Friday,Saturday
}
这样周一跟周三的值都是1,周日跟周二的值是0,这种写法禁止
如果赋值应该每个选项都分别赋值

枚举的选项也可以用中文来描述,但也不建议

enum Week{// 周日,不需要添加字符串,相当于声明的变量名称是:周日周日,周一,周二,周三,周四,周五,周六
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.xdnf.cn/news/143370.html

如若内容造成侵权/违法违规/事实不符,请联系一条长河网进行投诉反馈,一经查实,立即删除!

相关文章

fmql之ubuntu联网

需求:fmql搭载linux,并且可以远程访问。 连路由器 板卡通过网线与路由器连接,ip设置成同段,可以ping通: 但是ping不通baidu(如果路由器没有网/流量的话,就无法上网) ZYNQ7020通过网…

基于vue框架的宠物托管系统设计与实现is203(程序+源码+数据库+调试部署+开发环境)系统界面在最后面。

系统程序文件列表 项目功能:用户,宠物种类,商家,咨询商家,用户宠物,宠物托管,宠物状况,宠物用品,用品分类,商家公告,结束托管,账单信息,延长托管 开题报告内容 基于Vue框架的宠物托管系统设计与实现开题报告 一、引言 随着现代生活节奏的加快,越来越…

php医院预约挂号系统小程序 LW PPT源码调试讲解

第二章 开发技术与环境配置 2.1 Php语言简介 PHP,原名Hypertext Preprocessor。它是属于内嵌式语言,在服务器上执行嵌入HTML的脚本语言,有点像C语言的风格,运用的比较广泛。Hypertext Preprocessor混合了 Perl 、C、Java和自己创…

Python基础(七)——PyEcharts数据分析(面向对象版)

四、使用PyEcharts数据分析案例(面向对象版) 【前言:为了巩固之前的Python基础知识(一)到(五),并为后续使用Python作为数据处理的好帮手,我们一起来用面向对象的思想来理…

计算机毕业设计 二手图书交易系统 Java+SpringBoot+Vue 前后端分离 文档报告 代码讲解 安装调试

🍊作者:计算机编程-吉哥 🍊简介:专业从事JavaWeb程序开发,微信小程序开发,定制化项目、 源码、代码讲解、文档撰写、ppt制作。做自己喜欢的事,生活就是快乐的。 🍊心愿:点…

Leetcode Hot 100刷题记录 -Day17(搜索二维矩阵II)

搜索二维矩阵II 问题描述: 编写一个高效的算法来搜索 m x n 矩阵 matrix 中的一个目标值 target 。该矩阵具有以下特性: 每行的元素从左到右升序排列。每列的元素从上到下升序排列。 示例 1: 输入:matrix [[1,4,7,11,15],[2,5,8,…

【PSINS工具箱】仅速度为观测量的SINS/GNSS组合导航,MATLAB源代码,无需下载,可直接复制

工具箱 本程序需要在安装工具箱后使用,工具箱是开源的,链接:http://www.psins.org.cn/kydm 程序简述 原文的153组合导航是SINS/GPS下的位置观测或位置+速度观测,本文所述的代码是仅三轴位置观测的,使用UKF来滤波。 最后输出速度对比、速度误差、姿态对比、姿态误差、位…

Gwork企业微办公管理系统:企业管理的多面手

Gwork企业微办公管理系统:企业管理的多面手 在企业信息化管理的道路上,你是否还在为繁琐的系统集成和复杂的业务流程头疼?Gwork企业微办公管理系统也许就是你正在寻找的那个得力助手。本文将带你了解Gwork的核心功能及其如何帮助企业提升工作…

【Arduino】Arduino使用USB-TTL无法下载程序问题

问题描述 自己绘制了一套基于Arduino MEGA的电路,没有在板子上面绘制CH340的标准下载电路,只保留了UART0的插针用于调试和下载程序。 使用ISP烧录完bootloader后,发现无法使用USB-TTL工具烧录程序 问题解决过程 在网上搜索了相关资料&…

洛谷P2240——贪心算法

贪心算法是好理解的,是简单的,但是困难的可能是结构体的应用,stl的使用等等,下面这道题就体现了这一点。 这道题主要要算单价,通过比较单价来排序,并计算。 如果单开数组,排完单价,…

ER 图 Entity-Relationship (ER) diagram 101 电子商城 数据库设计

起因, 目的: 客户需求, 就是要设计一个数据库。 过程, 关于工具: UI 设计,我最喜欢的工具其实是 Canva, 但是 Canva 没有合适的模板。我用的是 draw.io, 使用感受是,很垃圾。 各种快捷键不适应,箭头就是点不住&…

【雅特力AT32】串口入门实战:轮询、中断、SWAP(收发管脚交换)功能

本文将会把数据手册结合三个案例讲解,需要看源码可以直接看后面。 但是代码一定要结合中断、收发配置部分来理解,这两部分不建议跳过!!! 串口协议层不再介绍,需要请移步: 【串口通信详解】US…

打通最后一公里:使用CDN加速GitHub Page的访问

无论是互联网从业者还是科研人员,使用Github Page能够很友好的建立个人网站。 目前比较主流的方案是使用GitHub Page托管文字网页,利用GitHub仓库托管图床,稳定可靠(Gitee的page突然撤退,让人不敢再将图床放到上面&am…

VCS和Verdi联合仿真使用学习记录

环境:linux 工具:vcs,verdi 最近学习如何在linux环境下使用vcs编译仿真,使用verdi查看波形。VCS 是 Synopsys 开发的一款高性能的 Verilog 和 SystemVerilog 编译仿真工具。它广泛用于数字电路设计和验证,特别是在 A…

javascript-代码执行原理

js 是解释型语言 js 引擎执行流程 分为两个阶段: 语法分析执行阶段执行阶段涉及的数据结构: 调用栈。处理执行上下文和执行代码内存堆。给对象分配内存任务队列。暂存待执行的任务,分为宏任务队列和微任务队列语法分析 词法分析 > 语法分析 > 代码生成(字节码) …

C++map,set,multiset,multimap详细介绍

目录 1. 关联式容器 2. 键值对 3. 树形结构的关联式容器 3.1 set set的介绍 set的使用 1. set的模板参数列表 2. set的构造 3. set的迭代器 4. set的容量 5. set的修改操作 6. set的使用举例 ​3.2 map map的介绍 map的使用 1. map的模板参数声明 2. map的构造 …

【数学分析笔记】第3章第2节 连续函数(4)

3. 函数极限与连续函数 3.2 连续函数 3.2.9 反函数的连续性定理 【定理3.2.2】【反函数连续性定理】设 y f ( x ) yf(x) yf(x)在闭区间 [ a , b ] [a,b] [a,b]上连续且严格单调增加,设 f ( a ) α , f ( b ) β f(a)\alpha,f(b)\beta f(a)α,f(b)β&#xff0…

iPhone 16系列:摄影艺术的全新演绎,探索影像新境界

在科技的浪潮中,智能手机摄影功能的进化从未停歇。 苹果公司即将推出的iPhone 16系列,以其卓越的相机升级和创新特性,再次站在了手机摄影的前沿。 从硬件到软件,从拍照体验到图像处理,iPhone 16系列都展现了其在移动…

通信工程学习:什么是PON无源光网络

PON:无源光网络 PON(Passive Optical Network,无源光纤网络)是一种采用光分路器等无源光器件进行信号传输和分配的光纤接入技术。它利用光纤作为传输媒介,通过无源设备将光信号从中心局(如光线路终端OLT&am…

工号不够用了怎么办? - 华为OD统一考试(E卷)

2024华为OD机试(E卷D卷)最新题库【超值优惠】Java/Python/C合集 题目描述 3020年,空间通信集团的员工人数数量突破20亿,现有工号系统不够用的窘境。 现在,请你负责调研新工号系统。继承历史传统,新工号系…