以下のコードは失敗します。 TypeScriptは戻り値の型がstring
だと誤って思っており、実際にはnumber
のときにcharAt
メソッドを呼び出すことができます。オーバーロードされた関数の型の安全性、TypeScript
TypeScriptがバグを検出するようにコードを改善する方法はありますか?
function fn(s: number): number
function fn(n: string): string
function fn(arg: any): any { return 0 }
fn("hi").charAt(0)