TypeScript · Middle · Запитання 51 з 75

Чому Omit<Circle | Square, 'id'> втрачає дискриміноване об'єднання?

type DistributiveOmit<T, K extends PropertyKey> = T extends any ? Omit<T, K> : never;

Пояснення

keyof (A | B) містить лише спільні ключі, тож специфічні властивості зникають. Умовний тип розподіляється по об'єднанню.

Де почитати

Помилка в запитанні

TypeScript · Middle · запитання 51

Перевірте себе

Пройдіть тест TypeScript · Middle: запитання й варіанти перемішуються, а наприкінці - розбір помилок.

Пройти цей тест