JavaScript · Senior · Frage 48 von 75
Was ist die Temporal Dead Zone bei Standardparametern?
function f(a = b, b = 1) { return a; }
f();- 1Liefert
undefined:bwird mit dem Wertundefinedgehoistet - 2Liefert
1: Standardparameter werden in beliebiger Reihenfolge ausgewertet - 3
ReferenceError: Parameterbist bei der Auswertung vonanoch nicht initialisiert
Antwort zeigen
Richtige Antwort: ReferenceError: Parameter b ist bei der Auswertung von a noch nicht initialisiert
Erklärung
Parameter werden von links nach rechts initialisiert und verhalten sich wie let: Der Zugriff auf einen noch nicht initialisierten Parameter ist ein TDZ-Fehler. In umgekehrter Reihenfolge (a = 1, b = a) funktioniert es. Standardwerte werden bei jedem Aufruf ausgewertet, nicht einmal.