Slide 20
Slide 20 text
将来的にも有効に使えるように列挙型処理を利用する
例:列挙型の条件分岐(下のコードに新しい列挙 Top が追加された場合)
🙅 BadCode
🙆 GoodCode
コンパイルエラーを検知できない コンパイルエラーを検知できる
実装時にエラーに気づくことができる
const Position = {
Right: 0,
Left: 1,
} as const;
type Position = (typeof Position)[keyof typeof Position];
// 上は type Position = 0 | 1 と同じ意味になります
function toJapanese(position: Position) {
if (position === Position.Right) {
return "右";
}
return "左";
}
const Position = {
Right: 0,
Left: 1,
} as const;
type Position = (typeof Position)[keyof typeof Position];
// 上は type Position = 0 | 1 と同じ意味になります
function toJapanese(position: Position) {
switch (position) {
case Position.Right:
return "右";
case Position.Left:
return "左";
}
}