L'affectation de déstructuration de tableau pour échanger deux valeurs ne peut pas être implémentée sans utiliser un point-virgule (;)
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)< /pré>
<p>Cela n'a pas fonctionné comme prévu et m'a donné une erreur...</p>
<blockquote>
<p>Uncaught ReferenceError : Impossible d'accéder à 'y' avant l'initialisation</p>
</blockquote>
<pre class="brush:php;toolbar:false;">let [x, y] = [10, 20]; // Utilisez le point-virgule ici [y, x] = [x, y] console. x, y)≪/pré>
<p>Maintenant, cela fonctionne bien, quelqu'un peut-il expliquer pourquoi cela fonctionne maintenant...</p>
Vous devez d'abord déclarer x et y en premier, et vous devez utiliser un point-virgule après l'instruction dans une ligne.
let x, y; [x, y] = [10, 20]; [y, x] = [x, y]; console.log(x, y)
EDIT : Désolé, vous n'avez pas besoin de les déclarer au préalable, mais utilisez un point-virgule pour séparer les directives.