用 TypeScript 的 Enum 枚舉來統一規範所用的字詞列表會是一個不錯的方式,不過若要取得其 value 的集合當作 type 來標註,在過往相對複雜很多,但於 4.1 版本以後,可用 literal template 來取得。
內容
直接用 literal template 會是相對直覺且簡單的方式,搭配 intelligence 的提示也會比較好
1 2 3 4 5 6 7 8 9 10 11 |
enum Weekday { MONDAY = 'mon', TUESDAY = 'tue', WEDNESDAY = 'wed' } /* TS 4.1+ */ type WeekdayType = `${Weekday}`; /* TS before 4.1*/ type Weekday = (typeof Weekday)[keyof typeof Weekday]; |
參考資料
1. Typescript: string literal union type from enum
按讚加入粉絲團