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