隐式类型转换时的TypeScript错误

时间:2017-11-18 02:26:22

标签: typescript casting type-conversion

有没有办法让TypeScript在隐式类型转换上抛出错误?在我看来,JavaScript中的所有隐式类型转换都是语言中较大的错误来源之一,所以我想要一种类似下面代码的方法:

let h = (n: number): number => {
    let f = () => 0 
    return -f
}

让我知道它将通过-运算符隐式地将函数类型转换为数字,因此始终返回NaN

1 个答案:

答案 0 :(得分:1)

TypeScript允许这样做,因为它是有效的JavaScript。 您始终可以覆盖toString()方法。

请考虑以下事项:

let x = {}
x.toString = () => "1"
ley y = -x  // -1

let f = () => { }
f.toString = () => "1"
let z = -f // -1