中級 › 文字列リテラルをenum型の引数に渡すとエラーになる理由 › パターン3
文字列リテラルをenum型の引数に渡すとエラーになる理由
enumで定義した型は、見た目が近い文字列リテラルであっても別の型として扱われます。
1 enum Level { 2 Low, 3 High, 4 } 5 function setLevel(l: Level): string { 6 return `level=${l}`; 7 } 8 console.log(setLevel(_________)); ^
main.ts(8,22): error TS2345: Argument of type '"Low"' is not assignable to parameter of type 'Level'.
空欄を埋めてコンパイルを通す
Level.Lowと文字列"Low"は別の型として扱われます。setLevelにはenumの値そのものを渡す必要があります。
次の問題