Typescript语法三

本文介绍了编程中的枚举数据类型,包括如何定义、访问枚举值以及在TypeScript中枚举对象的默认和自定义属性值。通过枚举,程序员可以为有限的选项提供类型安全和有意义的标识。
摘要由CSDN通过智能技术生成

枚举

枚举(Enumeration)是编程语⾔中常⻅的⼀种数据类型,其主要功能是定义⼀组有限的选项,例
如,⽅向(上、下、左、右)或季节(春、夏、秋、冬)等概念都可以使⽤枚举类型定义。
枚举的定义需使用enum关键字,如下
enum Season {

    SPRING,
    SUMMER,
    AUTUMN,
    WINNER

}
枚举的使⽤记住两个原则即可
        1、枚举值的访问
        像访问对象属性一样访问枚举值,例如Season.SPRING
        2、枚举值的类型
        枚举值的类型为enum的名称,例如 Season.SPRING 和 Season.SUMMER 等值的类型都是
Season
        
let spring:Season = Season:SPRING

使用场景

        现在需要编写一个函数 move ,其功能是根据输⼊的⽅向(上、下、左、右)进⾏移动,此时就可以先使⽤枚举定义好所有可能的输⼊选项,如下:

        

enum Direction {

    UP,
    BOTTOM,
    LEFT,
    RIGHT
}

move函数的实现如下:

function move(direction: Direction) {
    if(direction===Direction.UP){
        console.log('向上移动');
    }else if(direction===Direction.BOTTOM){
        console.log('向下移动');
    }else if(direction===Direction.LEFT){
        console.log('向左移动');
    }else{
        console.log('向右移动');
    }
}

move(Direction.UP);

赋值

在TypeScript 中,枚举实际上是⼀个对象,⽽每个枚举值都是该对象的⼀个属性,并且每个属性都有具体的值,属性值只⽀持两种类型⸺数字或字符串。
        (重点)默认情况下,每个属性的值都是数字,并且从 0 开始递增,例如上述案例中的 Direction 枚举中, Direction.UP 的值为 0 Direction.BOTTOM 的值为 1 ,依次类推,具体如下:
console.log(Direction.UP) //0
console.log(Direction.BOTTOM) //1
console.log(Direction.LEFT) //2
console.log(Direction.RIGHT) //3

        除了使⽤默认的数字作为属性的值,我们还能⼿动为每个属性赋值,例如

enum Direction {
    UP = 1,
    BOTTOM = 2,
    LEFT = 3,
    RIGHT = 4
}

console.log(Direction.UP) //1
console.log(Direction.BOTTOM) //2
console.log(Direction.LEFT) //3
console.log(Direction.RIGHT) //4
再例如:
enum Direction {
    UP = 'up',
    BOTTOM = 'bottom',
    LEFT = 'left',
    RIGHT = 'right'
}

console.log(Direction.UP) //up
console.log(Direction.BOTTOM) //bottom
console.log(Direction.LEFT) //left
console.log(Direction.RIGHT) //right
通过为枚举属性赋值,可以赋予枚举属性⼀些更有意义的信息,例如以下枚举

  • 5
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
TypeScriptJavaScript的超集,它新增了许多语法特性,使得类型不再可以随意转换,能大大减少开发阶段的错误。在TypeScript中,可以声明原始数据类型,如数字类型、字符串类型、布尔类型等。此外,还可以使用泛型来适用于多个类型,并且传入类型与返回类型是相同的。TypeScript还支持数组类型、元组类型、枚举类型等其他类型。另外,还有一些特殊类型,如void用于标识方法没有返回值,null表示对象缺失,undefined表示未定义的值,never表示从不会出现的值。此外,TypeScript还支持位运算符,如与运算、或运算、取反、异或、左移、右移和无符号右移等。123 #### 引用[.reference_title] - *1* *2* [带你了解Typescript的14个基础语法](https://blog.csdn.net/devcloud/article/details/121681921)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT3_1"}} ] [.reference_item] - *3* [TypeScript基本语法](https://blog.csdn.net/Linceo/article/details/105607304)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT3_1"}} ] [.reference_item] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值