中級 › 文字列リテラルを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'.
空欄を埋めてコンパイルを通す
"Active"はただの文字列であり、enumのStatus.Activeとは別の型です。メンバー名と同じ文字列を渡しても通用しません。
次の問題