JavaScript · Senior · Frage 35 von 75

Was kann bei einer zirkulären Abhängigkeit zwischen ES-Modulen passieren?

// a.js
import { b } from "./b.js";
export const a = "A" + b;
// b.js
import { a } from "./a.js";
export const b = "B" + a;
Antwort zeigen

Richtige Antwort: ReferenceError: Zugriff auf ein const vor der Initialisierung

Erklärung

Module werden in der Reihenfolge des Graphen ausgeführt; bei einem Zyklus beginnt eines zu laufen, während der Export des anderen noch in der TDZ liegt. Mit var bekäme man undefined, mit const/let/Klassen einen Fehler. Abhilfe: gemeinsamen Code in ein drittes Modul verschieben oder den Import träge innerhalb von Funktionen nutzen.

Zum Weiterlesen

Fehler in der Frage

JavaScript · Senior · Frage 35

Teste dich selbst

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

Diesen Test machen