Code Fix

中級 › 文字列リテラルを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'.

空欄を埋めてコンパイルを通す

広告
広告スロット(未設定)

文字列リテラルをenum型の引数に渡すとエラーになる理由

enumのメンバー名と同じ文字列を渡しても、enum型そのものの値でなければ代入・引数として受け付けられません。

このエラーの解説と類題をまとめて見る →

広告
広告スロット(未設定)