Рассмотрим этот пример, где a
возможно null
и явно объявлено так.Даже при включенной строгой проверке нуля, машинопись не предупреждает меня о возможной ошибке здесь -
let a: string | null = "hello"
function b() {
a = null
}
b()
a.replace('2', '3')
Ссылка на Typescript Playground .
Тот же код, написанный напоток сразу же допустил бы ошибку, так как метод replace
недоступен для типа null
.
Что я могу сделать для обеспечения безопасности типов в таких сценариях?