3 回答

TA貢獻2011條經驗 獲得超2個贊
TypeScript 2.4+
現在,您可以直接將字符串值分配給枚舉成員:
enum Season {
Winter = "winter",
Spring = "spring",
Summer = "summer",
Fall = "fall"
}
有關更多信息,請參見#15486。
TypeScript 1.8以上
在TypeScript 1.8+中,您可以創建一個字符串文字類型來定義該類型,并為值列表創建一個名稱相同的對象。它模仿字符串枚舉的預期行為。
這是一個例子:
type MyStringEnum = "member1" | "member2";
const MyStringEnum = {
Member1: "member1" as MyStringEnum,
Member2: "member2" as MyStringEnum
};
它將像字符串枚舉一樣工作:
// implicit typing example
let myVariable = MyStringEnum.Member1; // ok
myVariable = "member2"; // ok
myVariable = "some other value"; // error, desired
// explict typing example
let myExplicitlyTypedVariable: MyStringEnum;
myExplicitlyTypedVariable = MyStringEnum.Member1; // ok
myExplicitlyTypedVariable = "member2"; // ok
myExplicitlyTypedVariable = "some other value"; // error, desired
確保鍵入對象中的所有字符串!如果不這樣做,則在上面的第一個示例中,該變量將不會隱式鍵入為MyStringEnum。
- 3 回答
- 0 關注
- 697 瀏覽
添加回答
舉報