【TypeScript】枚举类型和泛型的详细介绍
// 定义一个简单的枚举类型
enum SimpleEnum {
A,
B,
C = "hello", // 枚举成员可以是任意类型
D = 42,
}
// 使用枚举
function printEnumValue(value: SimpleEnum) {
console.log(value);
}
printEnumValue(SimpleEnum.A); // 输出: 0
printEnumValue(SimpleEnum.C); // 输出: "hello"
// 使用泛型定义一个枚举映射的工厂函数
function createEnum<T>(enumObj: T): T {
return enumObj;
}
// 使用泛型定义一个枚举映射
enum Coin {
Penny = 1,
Nickel = 5,
Dime = 10,
Quarter = 25,
}
type CoinMap = {
[Coin.Penny]: "penny",
[Coin.Nickel]: "nickel",
[Coin.Dime]: "dime",
[Coin.Quarter]: "quarter",
};
const coinMap: CoinMap = createEnum({
[Coin.Penny]: "penny",
[Coin.Nickel]: "nickel",
[Coin.Dime]: "dime",
[Coin.Quarter]: "quarter",
});
console.log(coinMap); // 输出: { 1: "penny", 5: "nickel", 10: "dime", 25: "quarter" }
这个代码示例展示了如何在TypeScript中使用枚举类型,并通过泛型来创建复杂的类型映射。首先定义了一个简单的枚举SimpleEnum
,然后通过一个函数printEnumValue
来打印不同枚举成员的值。接着使用泛型来创建一个枚举映射,并展示如何使用这个映射。这个示例有助于理解枚举的使用以及TypeScript中泛型的应用。
评论已关闭