有没有一种方法可以使TypeScript在隐式类型转换时抛出错误?在我看来,JavaScript中的所有隐式类型转换都是语言中较大的错误源之一,因此我希望能够处理以下代码:
let h = (n: number): number => {
let f = () => 0
return -f
}
请告诉我,它将通过-
运算符将函数类型隐式转换为数字,因此始终返回NaN
。
有没有一种方法可以使TypeScript在隐式类型转换时抛出错误?在我看来,JavaScript中的所有隐式类型转换都是语言中较大的错误源之一,因此我希望能够处理以下代码:
let h = (n: number): number => {
let f = () => 0
return -f
}
请告诉我,它将通过-
运算符将函数类型隐式转换为数字,因此始终返回NaN
。
TypeScript是有效的JavaScript,因此可以允许这样做。您可以始终覆盖toString()
方法。
请考虑以下内容:
let x = {}
x.toString = () => "1"
ley y = -x // -1
let f = () => { }
f.toString = () => "1"
let z = -f // -1
toString()
并返回一个可以/不能解析为数字的值)。您可以尝试在GitHub上开启一个问题,但很可能会被视为“按预期工作”。这是我的意见。 - unional