TypeScript · Senior · Frage 36 von 75

Warum kann man bei a: { x: string } | { y: number } nicht a.x schreiben?

Antwort zeigen

Richtige Antwort: Nur gemeinsame Eigenschaften sind zugänglich; mit in eingrenzen

Erklärung

Der Compiler weiß nicht, welches Mitglied a ist, und das zweite hat kein x. Nach if ('x' in a) ist der Typ eingegrenzt. Alternativen sind eine gemeinsame Diskriminante (kind) oder ein explizites x?: undefined im zweiten Mitglied.

Zum Weiterlesen

Fehler in der Frage

TypeScript · Senior · Frage 36

Teste dich selbst

Mach den Test TypeScript · Senior: Fragen und Antworten werden gemischt, und am Ende wartet eine Übersicht der Fehler.

Diesen Test machen