Условные типы Typescript, кажется, допускают нуль - PullRequest
0 голосов
/ 09 апреля 2019

Учитывая этот пример условного типа:

type MyType = 'Number' | 'String';

interface Test<T extends MyType> {
  bar: T extends 'Number' ? 25 : '25'
}

Если я попытаюсь:

const test: Test<'Number'> = {bar: null}

Я не получаю жалоб, похоже, это допустимый Typescript.Однако при наведении курсора на bar появляется всплывающее окно с надписью (property) Test<"Number">.bar: 25 , которое, по-видимому, означает, что TS правильно понял тип.

Почему тогда я не получаю ошибки при назначении таким образом?Как я могу это исправить?

1 Ответ

2 голосов
/ 09 апреля 2019

Просто включите опцию компилятора --strict или --strictNullChecks.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...