Maison  >  Questions et réponses  >  le corps du texte

L'affectation de déstructuration de tableau pour échanger deux valeurs ne peut pas être implémentée sans utiliser un point-virgule (;)

<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>
P粉714780768P粉714780768437 Il y a quelques jours423

répondre à tous(1)je répondrai

  • P粉212971745

    P粉2129717452023-08-11 12:51:28

    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.

    répondre
    0
  • Annulerrépondre