type关键字
1.类型别名
作用:类型别名用来给一个类型起个新名字。
type关键字用法如下:
type Name = string;
type NameResolver = () => string;
type NameOrResolver = Name | NameResolver;
function getName(n: NameOrResolver): Name {
if (typeof n === 'string') {
return n;
} else {
return n();
}
}
备注:类型别名常用于联合类型。
2.字符串字面量类型
作用:用来约束取值只能是某几个字符串中的一个。
type关键字用法如下:
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'.
本文参考文档:https://ts.xcatliu.com

浙公网安备 33010602011771号