联合类型
联合类型(Union Types)表示取值可以为多种类型中的一种。
let myFavoriteNumber: string | number;
myFavoriteNumber = "seven";
myFavoriteNumber = 7;
myFavoriteNumber = true; // error TS2322: Type 'boolean' is not assignable to type 'string | number'.
交叉类型(Intersection Types)表示将多个类型合并为一个类型
interface A {
a: string;
}
interface B {
b: number;
}
// 此时 ab 同时具有 A 和 B 中定义的所有类型
const ab: A & B = {
a: "hello",
b: 13
};