【前端进阶】-TypeScript高级类型 | 交叉类型、索引签名类型、映射类型
// 交叉类型:结合多个类型,所有类型的属性都会被绑定到一起
type LeftType = { left: string };
type RightType = { right: string };
type BothType = LeftType & RightType;
// 使用交叉类型
let both: BothType = { left: "左边", right: "右边" };
// 索引签名类型:定义了一个接口,该接口允许任何字符串作为索引来访问任意类型的属性
interface StringIndexType {
[index: string]: string;
}
// 使用索引签名类型
let stringIndex: StringIndexType = {
key1: "value1",
key2: "value2"
};
// 映射类型:通过映射关系来生成新的类型
type MappedType = { [key in "upper" | "lower"]: string };
// 使用映射类型
let mapped: MappedType = { upper: "大写", lower: "小写" };
这段代码展示了如何在TypeScript中使用交叉类型、索引签名类型和映射类型。交叉类型用于结合多个类型;索引签名类型允许你使用字符串索引来访问属性;映射类型允许你根据映射关系生成新的类型。这些高级类型在定义复杂数据结构时非常有用。
评论已关闭