Die Array-Destrukturierungszuweisung zum Austausch zweier Werte kann nicht ohne die Verwendung eines Semikolons (;) implementiert werden.
P粉714780768
2023-08-10 14:21:03
<p><br /></p>
<pre class="brush:php;toolbar:false;">let [x, y] = [10, 20] [y, x] = [x, y] console.log(x, y)< /pre>
<p>Es hat nicht wie erwartet funktioniert und mir eine Fehlermeldung angezeigt...</p>
<blockquote>
<p>Uncaught ReferenceError: Auf „y“ kann vor der Initialisierung nicht zugegriffen werden</p>
</blockquote>
<pre class="brush:php;toolbar:false;">let [x, y] = [10, 20]; // Semikolon hier verwenden [y, x] = [x, y] console. x, y)</pre>
<p>Jetzt funktioniert es einwandfrei. Kann mir bitte jemand erklären, warum es jetzt funktioniert ...</p>
首先你需要先声明 x 和 y,而且在一行的语句后需要使用分号。
let x, y; [x, y] = [10, 20]; [y, x] = [x, y]; console.log(x, y)
编辑:对不起,你不需要事先声明它们,但是在指令之间要使用分号进行分隔。