类型别名-type
# 类型别名
类型别名用来给一个类型起个新名字,使用 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();
}
}
1
2
3
4
5
6
7
8
9
10
2
3
4
5
6
7
8
9
10
# 字符串字面量类型
字符串字面量类型用来约束取值只能是某几个字符串中的一个。类型别名与字符串字面量类型都是使用 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'
1
2
3
4
5
6
7
2
3
4
5
6
7
使用 type
定了一个字符串字面量类型 EventNames
,它只能取三种字符串中的一种。
上次更新: 2022/05/12 14:57:53