Typescript语法三

发布于:2024-05-05 ⋅ 阅读:(27) ⋅ 点赞:(0)

枚举

枚举(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
通过为枚举属性赋值,可以赋予枚举属性⼀些更有意义的信息,例如以下枚举


网站公告

今日签到

点亮在社区的每一天
去签到