Code Fix

中級文字列リテラルをenum型の引数に渡すとエラーになる理由 › パターン1

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

enumで定義した型は、見た目が近い文字列リテラルであっても別の型として扱われます。

 1  enum Status {
 2    Active,
 3    Inactive,
 4  }
 5  function report(s: Status): string {
 6    return `status=${s}`;
 7  }
 8  console.log(report(_____________));
                             ^
main.ts(8,20): error TS2345: Argument of type '"Active"' is not assignable to parameter of type 'Status'.

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

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

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

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

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

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