中級 › union型(string | number)のメソッド呼び出しで型エラーになる理由 › パターン3
union型(string | number)のメソッド呼び出しで型エラーになる理由
string | numberのようなunion型の値に対して、片方の型にしか無いメソッド(toUpperCaseなど)を呼び出そうとすると、もう一方の型に無いことを理由にエラーになります。
1 function label(value: string | boolean): string { 2 return value.___________(); ^ 3 } 4 console.log(label(true));
main.ts(2,16): error TS2339: Property 'toUpperCase' does not exist on type 'string | boolean'.
空欄を埋めてコンパイルを通す
toUpperCaseはbooleanには存在しません。string | boolean型のままでは呼び出せません。
次の問題