字符串字面量类型
字符串字面量类型用来约束取值只能是某几个字符串中的一个。
简单的例子
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'
// Argument of type '"dblclick"' is not assignable to parameter of type 'EventNames'.
// 类型为'dblclick'的参数不能赋值给类型为'EventNames'的参数。
上例中,我们使用type
定了一个字符串字面量类型EventNames
,它只能取三种字符串中的一种。
注意,类型别名与字符串字面量类型都是使用type
进行定义。