enum の値を for などの繰り返し構文で取得するサンプルコード。
enum は Object
Object らしい。
enum Color {
Red,
Green,
Blue,
}
console.log(typeof Color)// Object
その1:Object.entries()
- コンパイル時に es2017 以上のバージョンを指定しないと使えない。
- number と string では取得できる値の数が違う
enum Color {
Red,
Green,
Blue,
}
export enum Fruit {
Apple = "apple",
Lemon = "lemon",
Banana = "banana",
}
for (const [key, value] of Object.entries(Color)) {
console.log(`${key}: ${value}`)
// 0: Red
// 1: Green
// 2: Blue
// Red: 0
// Green: 1
// Blue: 2
}
for (const [key, value] of Object.entries(Fruit)) {
console.log(`${key}: ${value}`)
// Apple: apple
// Lemon: lemon
// Banana: banana
}
その2:Object.keys()
enum Color {
Red,
Green,
Blue,
}
export enum Fruit {
Apple = "apple",
Lemon = "lemon",
Banana = "banana",
}
Object.keys(Color).forEach((key) => {
console.log(`${key}: ${Color[key]}`)
// 0: Red
// 1: Green
// 2: Blue
// Red: 0
// Green: 1
// Blue: 2
})
Object.keys(Fruit).forEach((key) => {
console.log(`${key}: ${Fruit[key]}`)
// Apple: apple
// Lemon: lemon
// Banana: banana
})