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