类型别名
类型别名就是使用 type 来给一个类型起个新名字,类型别名常用于联合类型。
js
type manyType = number | boolean | string;
let a: manyType
a = 0o700;
console.log(a);
a = true;
console.log(a);
a = 'Gloria';
console.log(a);
//以上编译都不会报错,指定自定义的manyType类型的变量可以是number类型也可以是string和boolean类型
字符串字面量类型
字符串字面量类型用来约束取值只能是某几个字符串中的一个。
js
type EventNames = 'click' | 'scroll' | 'mousemove';
function handleEvent(ele: Element, event: EventNames) {
// do something
}
handleEvent(<Element>document.getElementById('hello'), 'scroll'); // 编译没问题
handleEvent(<Element>document.getElementById('world'), 'dblclick'); // 编译报错,event 不能为 'dblclick'
即形参 event只能是click和scroll以及mousemove三个字符串之一。
类型别名与字符串字面量类型都是使用 type
进行定义