【TS】枚举
ts中,枚举类型就是,枚举里面的每个数据值都可以叫做元素,每个元素都有自己的编号,编号是从0开始的,依次递增加1 , 语法: enum 枚举名 {}
此处定义一个枚举类型,例如:
enum Color{
red, // 0
green, // 1
blue // 2
}
在枚举类型中,属性的位置默认是从0开始的,color中red是第一个,默认位置为0,所以依次往下排列,值分别为:red:0, green:1, blue:2
可以定义一个枚举类型的变量,来接受枚举的值
// 定义枚举类型的变量 color 来接收 Color 的值
let color : Color = Color.red
console.log(color); // 0
根据默认值依次递增:
console.log(Color.red,Color.green,Color.blue); // 0 , 1 ,2
可以通过枚举的编号拿到值
console.log(Color[2]); // blue
根据上述的列子可以看出来,枚举其实就是根据默认值的顺序排列,枚举内第一个的默认值是 0的话,依次排列,第一个值是0,第二个值是1,第三个值是2。
但此时又有问题了,如果枚举内有4个值,第一个值为10 ,第三个值手动设置为30的话,又该怎么排列呢?
enum Nums2{
red = 10,
green, // 递增
blue = 30,
cyan
}
在这里将枚举内的blue默认值设为30,如果依次排列的话,打印的就是
// 依次递增,第一个默认编号10 打印: 10 , 11 , 30 , 31
console.log(Nums2.red,Nums2.green,Nums2.blue);
枚举的取值:
// 定义一个Nums2的枚举类型的变量来接受枚举的值
let nums2 : Nums2 = Nums2.red // 此处的 Nums2.red的默认值为上面定义的 10
console.log(nums2); // 10
案例源码:https://gitee.com/wang_fan_w/ts-seminar
如果觉得这篇文章对你有帮助,欢迎点亮star
【TS】枚举的更多相关文章
- TypeScript规则整理
介绍我在初学 TS 开发项目中遇到的一些问题,希望对你有所帮助~ 因为我们的JavaScript是弱类型语言,如果项目过大,或者团队人数很多,不仅代码风格不统一,以后还会很难维护 Ty ...
- 尤雨溪在直播中讲到的Vue3.0 Beta的那些特性,快记笔记了
前言 在那天风雨交加的夜晚,Vue的创作者尤雨溪尤大大在b站直播分享了Vue.js 3.0 Beta最新进展.我对直播的内容进行了一下整理.整整用了三天的空余时间赶上了 1. 全新文档RFCs Vue ...
- TS学习之枚举
使用枚举可以定义一些有名字的数字常量 enum Test{ one = 1, two, three, four } console.log(Test); /*{ '1': 'one', '2': 't ...
- TS初探
简介 TypeScript具有类型系统,且是JavaScript的超集.它可以编译成普通的JavaScript代码. TypeScript支持任意浏览器,任意环境,任意系统并且是开源的.Ts主要用于解 ...
- C# 中的枚举类型 enum (属于值类型)
原文 C# 中的枚举类型 enum (属于值类型) C# 支持两种特殊的值类型:枚举和结构. 声明枚举:声明时要声明所有可能的值. using System; using System.Collect ...
- 黑马程序员:Java基础总结----枚举
黑马程序员:Java基础总结 枚举 ASP.Net+Android+IO开发 . .Net培训 .期待与您交流! 枚举 为什么要有枚举 问题:要定义星期几或性别的变量,该怎么定义?假设用1-7分别 ...
- Java基础---集合框架---迭代器、ListIterator、Vector中枚举、LinkedList、ArrayList、HashSet、TreeSet、二叉树、Comparator
为什么出现集合类? 面向对象语言对事物的体现都是以对象的形式,所以为了方便对多个对象的操作,就对对象进行存储,集合就是存储对象最常用的一种方式. 数组和集合类同是容器,有何不同? 数组虽然也可以存储对 ...
- TS学习随笔(七)->声明文件
now我们来看一看TS怎么声明文件, 在JS里面我们经常会使用各种第三方类库,引入方式也不太相同,常见的就是在HTML中通过script标签引入,然后就可以使用全局变量$或者jQuery了 我们通常这 ...
- ts --基础类型
声明js的基本类型1.数字let a: number = 2; 2.字符串let aa: string = "22" 3.数组 (1) 数组元素: let b: number[] ...
- Typescript学习笔记(二)枚举
跟随handbook的脚步,详细介绍一下枚举. enum Direction { Up = 1, Down, Left, Right } 一个枚举类型可以包含零个或多个枚举成员,每个枚举成员可以是一个 ...
随机推荐
- WebApi如何启用Session并且使用
首先打开项目的Global.asax文件,重新方法init public override void Init() { //注册事件 this.AuthenticateRequest += WebAp ...
- Composer 部署国内镜像
众所周知的原因,原版的镜像下载会比较慢,建议改成阿里的会比较快. 1 备份你的原镜像文件,以免出错后可以恢复.mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum ...
- RocketMQ系列-搭建Namesrv源码调试环境
RocketMQ系列-搭建Namesrv源码调试环境 在学习任何一个技术框架的时候,我们通常都是先了解是什么,有什么作用.解决什么问题.设计亮点和设计思想是什么:当然对于技术学习上来说,这只是纸上谈兵 ...
- python中调用C代码
首先我们需要明晰为什么我们需要在python中调用C语言的代码,原因不外乎有二: 其一,python不擅长"大量运算"任务,而擅长于编写简单,"IO密集型作业" ...
- 【大数据课程】高途课程实践-Day01:Python编写Map Reduce函数实现各商品销售量展示(类似wordcount)
〇.概述 1.工具 http://www.dooccn.com/python3/ 在线运行Python代码 2.步骤 (1)⽣成代码测试数据 (2)编写Mapper逻辑 (3)编写Reducer逻辑 ...
- 【每日一题】【排序】2021年11月13日-215. 数组中的第K个最大元素※
给定整数数组 nums 和整数 k,请返回数组中第 k 个最大的元素. 请注意,你需要找的是数组排序后的第 k 个最大的元素,而不是第 k 个不同的元素. 方法1:调库 class Solution ...
- Java工厂模式的最佳实践?
"Simplicity is prerequisite for reliability." - Edsger Dijkstra "简单是可靠的前提条件." -- ...
- Django视图层/FBV与CBV/jsonResponse对象/form表单上传文件/request对象获取文件
目录 虚拟环境 视图层views 三板斧 jsonResponse对象 form如何上传文件/request对象获取文件 request对象方法 FBV与CBV CBV源码解析 虚拟环境 每创建一个虚 ...
- uniapp微信小程序 原生底部导航栏
在pages.json文件中写 "tabBar": { "color": "#333333", "selectedColor&q ...
- 常用 Git 命令行操作
本文记录了一些常用 Git 命令行操作的具体使用方式 git clone git clone REPOSITORY_URL 拉取仓库,并使用仓库名作为本地文件名 git clone REPOSITOR ...