Heim > Web-Frontend > js-Tutorial > ES6-Array-Destrukturierungsanomalie: Warum sind Semikolons wichtig?

ES6-Array-Destrukturierungsanomalie: Warum sind Semikolons wichtig?

Linda Hamilton
Freigeben: 2024-10-24 06:04:02
Original
506 Leute haben es durchsucht

ES6 Array Destructuring Anomaly: Why Are Semicolons Important?

ES6-Array-Destrukturierungsanomalie

In ES6 ermöglicht die Array-Destrukturierung eine bequeme Zuweisung von Array-Elementen zu Variablen. Bei der Destrukturierung ohne ordnungsgemäße Verwendung von Semikolons tritt jedoch ein unerwartetes Verhalten auf.

Beachten Sie den folgenden Code:

<code class="js">let a, b, c
[a, b] = ['A', 'B']
[b, c] = ['BB', 'C']
console.log(`a=${a} b=${b} c=${c}`)</code>
Nach dem Login kopieren

Erwartete Ausgabe:

  • a=A b =BB c=C

Tatsächliche Ausgabe:

  • a=BB b=C c=undefiniert

Erklärung

Das unerwartete Verhalten entsteht durch das Fehlen von Semikolons zwischen den beiden Destrukturierungsanweisungen. In ES6 werden Semikolons nicht automatisch eingefügt. Daher wird der Code als eine große Anweisung analysiert:

<code class="js">let a = undefined, b = undefined, c = undefined;
[a, b] = (['A', 'B']
[(b, c)] = ['BB', 'C']);
console.log(`a=${a} b=${b} c=${c}`);</code>
Nach dem Login kopieren

In dieser Anweisung wertet der Kommaoperator den letzten Ausdruck in der Klammer aus, der die Zuweisung des Arrays ['BB', 'C '] auf der linken Seite (b, c). Als Ergebnis erhält b „BB“ und c erhält „C“.

Die zweite Destrukturierungszuweisung wird jedoch fälschlicherweise dem leeren Array-Literal ([]) anstelle des Arrays ['BB', ' C']. Dies liegt daran, dass das Array-Literal in Klammern ohne Semikolon am Zeilenanfang eingeschlossen ist.

Um dieses Problem zu beheben, verwenden Sie Semikolons, um die einzelnen Zuweisungen zu trennen:

<code class="js">let a, b, c;
[a, b] = ['A', 'B'];
[b, c] = ['BB', 'C'];
console.log(`a=${a} b=${b} c=${c}`);</code>
Nach dem Login kopieren

Mit dem Bei richtiger Verwendung von Semikolons wird die erwartete Ausgabe erhalten.

Das obige ist der detaillierte Inhalt vonES6-Array-Destrukturierungsanomalie: Warum sind Semikolons wichtig?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage