我想了解以下TypeScript行为:
以下代码
let a: number
if (a === undefined) {
console.log("how?")
}
引发错误:“变量'a'在分配前已使用。”。
但是以下代码
let a: number
const f = (): void => {
if (a === undefined) {
console.log("how?")
}
}
f()
工作正常,并记录“如何?”。
为什么?而且,如果a === undefined
的类型为number
,怎么会这样?
因为我们没有内联函数的流控制效果
if( testVariable === false)
而不是简单地
if( !testVariable )