当前位置: 代码网 > it编程>前端脚本>Vue.js > TypeScript的枚举与类型约束

TypeScript的枚举与类型约束

2024年08月02日 Vue.js 我要评论
● 上一章我们讲了 TS 的接口● 这一章, 我们就来聊一聊 TS 的枚举和约束。

● 上一章我们讲了 ts 的接口

● 这一章, 我们就来聊一聊 ts 的枚举和约束

枚举

认识枚举

● 在很多计算机语言中都有枚举的概念, 但是 js 中是没有枚举这个概念的, 为了弥补这个缺憾 在 ts 加入了枚举类型

● 什么是枚举呢 ?

枚举( mei ju ) : 枚举的意思就是一一列举, 把所有情况都列举出来, 那么取值的时候, 只有这几个可以使用, 其他的都不行

计算机语言里面的枚举( enumerations ) : 把所有的常量放在一个集合内, 让若干个常量变成一组有关联的内容

// 针对一个业务逻辑, 我需要频繁用到四个方向的字符串
const up = 'up'
const right = 'right'
const down = 'down'
const left = 'left'

● 对于以上四个变量来说

● 我不管做任何逻辑, 我没办法限制你只能使用这四个变量中的一个

// 封装一个功能函数
function util(dir) {}

● 不管用什么方法, 你都没办法限制这个 dir 参数接收到的必须是上面列出的四个方向

● 这个时候, 我们就可以用到枚举了

● 首先, 在 ts 中, 利用 enum 关键字创建一个枚举集合, 把我们需要的四个常量放进去

enum direction {
  up = 'up',
  right = 'right',
  down = 'down',
  left = 'left'
}

● 制作了一个 direction 枚举集合, 那么就可以用这个集合来对某些数据进行限制了

function util(dir: direction) {}

● 这就约定了, dir 这个参数的值只能是 direction 这个枚举集合里面的常量, 其他都不行

● 只要你写的不是 direction 这个枚举内的内容都不行

数字枚举

● 数字枚举 : 枚举类型中的每一个常量都是数字

● 在 ts 中, 枚举内的每一个常量, 当你不设置值的时候, 默认就是 number 类型

enum pages {
    one,    // 0
    two,    // 1
    three   // 2
}

● 你在枚举内的常量, 第一个默认值是 0, 后面的依次 +1 递增

此时

pages.one => 0

pages.two => 1

pages.three => 2

● 我们也可以自己指定值

enum pages {
    one = 10,    // 10
    two = 20,    // 20
    three = 30   // 30
}

● 这个时候枚举集合内的常量就是我们指定好的值

● 我们也可以指定部分值

enum pages {
    one = 10,    // 10
    two,         // 11
    three        // 12
(0)

相关文章:

版权声明:本文内容由互联网用户贡献,该文观点仅代表作者本人。本站仅提供信息存储服务,不拥有所有权,不承担相关法律责任。 如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 2386932994@qq.com 举报,一经查实将立刻删除。

发表评论

验证码:
Copyright © 2017-2025  代码网 保留所有权利. 粤ICP备2024248653号
站长QQ:2386932994 | 联系邮箱:2386932994@qq.com