博主是一个专注于前端开发的程序猿~ 曾经主做于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#字符串字面量类型))