TypeScript · Senior · Frage 51 von 75

Warum kompiliert das, und wo ist die Lücke in der Typsicherheit?

const dogs: Dog[] = [];
const animals: Animal[] = dogs;
animals.push(new Cat());
Antwort zeigen

Richtige Antwort: Kovariante Arrays: über einen breiteren Alias landet eine Cat in Dog[]

Erklärung

Nimmt man in APIs, die nur lesen, readonly Animal[] an, vermeidet man das Problem, weil darüber nichts geschrieben werden kann.

Zum Weiterlesen

Fehler in der Frage

TypeScript · Senior · Frage 51

Teste dich selbst

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

Diesen Test machen