Я хотел бы понять следующее поведение 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
?