TypeScript · Senior · Pytanie 36 z 75

Dlaczego nie można napisać a.x dla a: { x: string } | { y: number }?

Wyjaśnienie

Kompilator nie wie, którym członem jest a, a drugi nie ma x. Po if ('x' in a) typ jest zawężony. Alternatywy to wspólny dyskryminator (kind) lub jawne x?: undefined w drugim członie.

Do poczytania

Błąd w pytaniu

TypeScript · Senior · pytanie 36

Sprawdź się

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

Rozwiąż ten test