По умолчанию любой тип, который вы назначаете, может принимать значения undefined и null вместе с любыми объявлениями типов, которые вы сделали.
В вашем конфигурационном файле TypeScript (tsconfig.json
) вы можете установить для параметра компилятора StrictNullChecks
значение true.
{
"compilerOptions": {
"strictNullChecks": true
}
}
Из документов TypeScript на Параметры компилятора :
В режиме строгой проверки на нуль нулевые и неопределенные значения не находятся в домене каждого типа и могут быть назначены только им и любому (единственное исключение, которое является неопределенным, также назначается для void).
Когда вы это делаете, переменная с типом ISomeData
может содержать только этот тип.
Если вы хотите неопределенные / нулевые значения, вам нужно будет набрать его как
a: ISomeData | undefined | null;