首页 > 其他分享 >TS — 枚举(详解)

TS — 枚举(详解)

时间:2024-04-17 11:25:16浏览次数:12  
标签:Direction 成员 enum TS Up Down 枚举 详解

在 TypeScript 中,枚举(Enum)是一种数据类型,用于定义一组命名的常量值。枚举可以帮助开发者更清晰地表达意图,提高代码的可读性和可维护性。

1. 枚举的基本语法:

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

//Direction 枚举定义了四个常量值:Up、Down、Left、Right。默认情况下,枚举成员的值是从 0 开始递增的。因此,Direction.Up 的值为 0,Direction.Down 的值为 1,以此类推。

2. 修改枚举成员的值:

enum Direction {
  Up = 1,
  Down = 2,
  Left = 3,
  Right = 4,
}

//我们为每个枚举成员指定了一个特定的值。现在,Direction.Up 的值为 1,Direction.Down 的值为 2,以此类推。

3. 使用枚举:

let playerDirection: Direction = Direction.Up;
console.log(playerDirection); // 输出:1

//枚举成员可以直接通过枚举类型来访问,也可以通过枚举的值来访问。

4. 字符串枚举:

enum Color {
  Red = "RED",
  Green = "GREEN",
  Blue = "BLUE",
}

//枚举成员的值为字符串类型。

5. 计算的和常量成员:

enum FileAccess {
  // 常量成员
  None,
  Read = 1 << 1,
  Write = 1 << 2,
  ReadWrite = Read | Write,
  // 计算的成员
  G = "123".length,
}

//常量成员是指没有初始化表达式的枚举成员,或者被初始化为常量表达式的枚举成员。计算的成员是指被初始化为非常量表达式的枚举成员。

6. 常用枚举操作:

  • 获取枚举成员的数量:Object.keys(Direction).length
  • 获取枚举成员的名称:Direction[1] 返回 Up

标签:Direction,成员,enum,TS,Up,Down,枚举,详解
From: https://www.cnblogs.com/qinlinkun/p/18140123

相关文章

  • 【git】ignore文件详解
    1.功能可以指定git,对于某些文件或者文件夹不进行追踪记录,例如一些依赖或者编译中间文件等。2.使用注意2.1对于已经有提交记录的文件对于已经提交的文件,即使加入了ignore文件也会被git追踪,想要不被追踪,需要先删除文件然后,提交再添加至ignore文件,即可生效(例如c项目一些编......
  • GreatSQL优化技巧:半连接(semijoin)优化
    何为半连接?半连接是在GreatSQL内部采用的一种执行子查询的方式,semijoin不是语法关键字,不能像使用innerjoin、leftjoin、rightjoin这种语法关键字一样提供给用户来编写SQL语句。两个表t1表和t2表进行半连接的含义是:对于t1表的某条记录来说,我们只关心在t2表中是否存在与之匹配......
  • Linux ab详解
    前言ab是apachebench命令的缩写,ab是apache自带的压力测试工具。ab非常实用,它不仅可以对apache服务器进行网站访问压力测试,也可以对或其它类型的服务器进行压力测试。比如nginx、tomcat、IIS等。ab的原理:ab命令会创建多个并发访问线程,模拟多个访问者同时对某一URL地址进行访问。......
  • 在Linux中,如何使用tcpdump和tshark进行实时数据包捕获?
    tcpdump和tshark是两个常用的网络分析工具,它们可以捕获网络接口上的数据包,并提供实时的网络流量分析。tcpdump是一个命令行工具,而tshark是Wireshark的命令行版本,提供了更多的功能和更详细的输出。1.使用tcpdump进行实时数据包捕获安装tcpdump:在大多数Linux发行版中,tcpdump已......
  • Bootstrap-table 使用总结
    Bootstrap-table使用总结一、什么是Bootstrap-table?在业务系统开发中,对表格记录的查询、分页、排序等处理是非常常见的,在Web开发中,可以采用很多功能强大的插件来满足要求,且能极大的提高开发效率,本随笔介绍这个bootstrap-table是一款非常有名的开源表格插件,在很多项目中广泛......
  • day12_我的Java学习笔记 (package包、权限修饰符_private+缺省+protected+public、fin
    1.包IDEA配置自动导包:2.权限修饰符同一个类中的,【private、缺省、protected、public】都可以访问同一个包中的其他类,【private】不可以访问,【缺省、protected、public】都可以访问不同包下的无关类,【private、缺省、protected】都不可以访问,只有【public......
  • 如何评估一个回答的好坏——BERTScore 基于预训练模型的相似度度量方式
    基于预训练模型的相似度度量方式BERTScoreBERTScore是一种基于BERT(双向编码器表示器转换器)语言模型的相似度度量。它将问题和回答编码为BERT向量,然后计算两个向量的余弦相似度。与传统的基于重叠词语的相似度度量不同,BERTScore能够捕获语义相似性,即使两个句子不包含相同的......
  • Ubuntu 24.04 LTS (Noble Numbat) 下载
    Ubuntu24.04LTS(NobleNumbat)下载Ubuntu24.04LTS开启Beta测试,正式版即将发布请访问原文链接:Ubuntu24.04LTS(NobleNumbat),查看最新版。原创作品,转载请保留出处。作者主页:sysin.org无耻抄袭者YuTao,请立遁!!!Ubuntu24.04LTS首个Beta已发布。本次Beta测......
  • 一款功能齐全的iOS混淆工具介绍及功能详解
    ​ 机缘巧合偶遇iOS马甲包业务,前期也使用过目前市面上其他得工具,实际效果不太理想。经过大量实践,开发出一款功能齐全的混淆工具。工具的主要功能OC、C++、Swift已封装成Mac应用,其他功能还在封装中,敬请期待。  马甲包的本质:阶段一减低重复率,本人开发初期的版本和目前市......
  • echarts 两个曲线之间填充并且不遮挡的办法
    echarts两个曲线之间填充可以用两条曲线,第一条填充白色,然后第2条填充想要的颜色,如下面的代码option={title:{text:'堆叠区域图'},tooltip:{trigger:'axis'},legend:{data:['最小值','最大值']},too......