# TypeScript 常用型別 - 列舉型別(Enum) 適用於 一定範圍內的值,或者幾種固定值 如: 1. 狀態 2. 日期之類 車輛狀態: 停車、行駛、加速、煞車 訂單狀態: 已下單、運送中、已送達 星期: 一、二、三、四、五、六、日 ### 使用方法 ``` // 定義任務狀態列舉 enum Role { Admin, Author, ReadOnlyUser } ``` ``` // 將其引用帶入,儲存後,JavaScript 會自動編撰列舉的函式 let user ={ name:"Alice", role:Role.Admin } // 這邊列舉的值會自動轉換為 0 1 2 3 數字 console.log(user) ``` 範例: ``` // 定義任務狀態列舉 enum TaskStatus { Todo, InProgress, Done } // 空任務陣列,定義 陣列型別 內為 物件 // 該狀態放列舉為其中一個才行 let tasks:{name:string,status:TaskStatus}[] = []; // 新增陣列 // 函式傳入須為 String function createTask(name: string){ // 推入物件 tasks.push({ name: name, status: TaskStatus.Todo // 新增任務 因此預設為 Todo }) } // 新增任務到任務列表 createTask("學習TS"); createTask("去超市購物"); //顯示任務 console.log(tasks); ```