TS清单 - 类型别名
类型别名
通俗点说,就是给一个类型另起一个名字,关键词「type」。
使用场景:一般用在「联合类型」「交叉类型」等。
js
// 一个简单的 DEMO
type Name = {
name: string;
};
type Age = {
age: number;
};
type Skill = {
canCode(): boolean;
other: number;
}
type FrontEndEngineer = Name & Age & Skill;
function getFrontEndEngineer<T>(user: T): T {
return user;
}
let bob = getFrontEndEngineer<FrontEndEngineer>({
name: 'Bob',
age: 28,
canCode: () => {
return true
},
other: 10
});
console.log(bob); // { name: 'Bob', age: 28, canCode: [Function: canCode], other: 10 }
// DEMO 2
// 定义两个简单类型 Name和ID,定义一个User类型(它可以是Name或者是ID)
type Name = string;
type ID = number;
type User = Name | ID; // 创建一个别名类型
let bob: User = 'Bob';
let bob2: User = 430524;
let bob3: User = () => {}; // 不能将类型“() => void”分配给类型“User”。