TypeScript · Middle · Pytanie 51 z 75

Dlaczego Omit<Circle | Square, 'id'> traci unię dyskryminowaną?

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

Wyjaśnienie

keyof (A | B) zawiera tylko wspólne klucze, więc właściwości specyficzne znikają. Typ warunkowy rozkłada się na unię.

Do poczytania

Błąd w pytaniu

TypeScript · Middle · pytanie 51

Sprawdź się

Rozwiąż test TypeScript · Middle: pytania i odpowiedzi są tasowane, a na końcu czeka przegląd błędów.

Rozwiąż ten test