ES6-Array-Destrukturierungsunregelmäßigkeit
Bei der Verwendung der ES6-Array-Destrukturierung tritt eine interessante Anomalie auf, wie im folgenden Codeausschnitt gezeigt:
<code class="javascript">let a, b, c; [a, b] = ['A', 'B']; [b, c] = ['BB', 'C']; console.log(`a=${a} b=${b} c=${c}`);</code>
Erwartet: a=A b=BB c=C
Tatsächlich: a=BB b=C c=undefiniert
Analyse:
Die Hauptursache liegt im Fehlen von Semikolons, was durch die automatische Semikoloneinfügung (ASI) in JavaScript ermöglicht wird. In diesem speziellen Fall fügt ASI jedoch keine Semikolons ein, wie man es erwarten würde.
Der Code wird logisch wie folgt zerlegt:
<code class="javascript">let a = undefined, b = undefined, c = undefined; [a, b] = (['A', 'B'] [(b, c)] = ['BB', 'C']); console.log(`a=${a} b=${b} c=${c}`);</code>
Auflösung :
Um diese Besonderheit zu umgehen, ist es wichtig, am Anfang jeder Zeile, die mit (, [, /, , - oder `) beginnt, explizit Semikolons hinzuzufügen. Dieser Ansatz gewährleistet eine ordnungsgemäße Trennung der Anweisungen und beseitigt das unerwartete Verhalten.
Das obige ist der detaillierte Inhalt vonWarum zeigt die ES6-Array-Destrukturierung ohne Semikolons unregelmäßiges Verhalten?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!