Typescript: undefined удаляется из интерфейса - PullRequest
1 голос
/ 20 февраля 2020

Я действительно не понимаю, почему undefined исчезает:

export interface IPayloads {
  Test1: number | undefined;
  Test2: number | void;
  Test3?: number;
}

type t1 = IPayloads["Test1"];  // number
type t2 = IPayloads["Test2"];  // number | void
type t3 = IPayloads["Test3"];  // number

Откуда взялись undefined go (и почему) на t1 и t3?!?

1 Ответ

0 голосов
/ 20 февраля 2020

Я только что зарегистрировался на игровой площадке TS, и он сообщает правильный тип number | undefined для обоих типов: t1 и t3. См. Пример TS Playground .

В VS Code мне пришлось включить "strictNullChecks": true в секции compilerOptions в tsconfig.json, чтобы получить правильный тип для показать вверх.

...