Ответ
StrictNullChecks — это опция компилятора TypeScript, которая включает строгую проверку типов для null
и undefined
. Без неё TypeScript позволяет неявно присваивать эти значения любому типу, что может привести к ошибкам во время выполнения.
Пример:
// Без strictNullChecks
let name: string = null; // Ошибки нет
// С strictNullChecks
let name: string = null; // Ошибка: Type 'null' is not assignable to type 'string'
Чтобы явно разрешить null
или undefined
, нужно использовать union-типы:
let name: string | null = null; // Корректно
Преимущества:
- Более безопасный код
- Чёткое указание, где могут быть
null/undefined
- Лучшая поддержка опциональных полей (
?
)