深度讲解TS:这样学TS,迟早进大厂【15】:字符串字面量类型

2022-09-08 15:57:24 浏览数 (1)

博主是一个专注于前端开发的程序猿~ 曾经主做于vue,react,小程序,uniapp,RN等各大框架~ 现在主攻web安全,数据加密,项目架构,性能优化~ 技术之路,任道重远。未来属于努力奋斗的我们! 有什么关于前端的疑问,可以问博主就好啦,知无不言哦~ 关注公众号:敲代码的小江,获取大厂面试题与视频讲解,了解职业发展前景。

初学者玩转 TypeScript系列,总计 21 期,点赞、收藏、评论、关注、三连支持! TS系列地址: 21篇文章带你玩转ts

# 字符串字面量类型

字符串字面量类型用来约束取值只能是某几个字符串中的一个。

简单的例子§

代码语言:javascript复制
type EventNames = 'click' | 'scroll' | 'mousemove';
function handleEvent(ele: Element, event: EventNames) {
    // do something
}

handleEvent(document.getElementById('hello'), 'scroll');  // 没问题
handleEvent(document.getElementById('world'), 'dblclick'); // 报错,event 不能为 'dblclick'

// index.ts(7,47): error TS2345: Argument of type '"dblclick"' is not assignable to parameter of type 'EventNames'.

上例中,我们使用 type 定了一个字符串字面量类型 EventNames,它只能取三种字符串中的一种。

注意,类型别名与字符串字面量类型都是使用 type 进行定义。

参考§

  • Advanced Types # Type Aliases([中文版](https://zhongsp.gitbooks.io/typescript-handbook/content/doc/handbook/Advanced Types.html#字符串字面量类型))

0 人点赞