recherche

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

javascript - Affectation par défaut de l'affectation de déstructuration du tableau ES6

Quand j'ai vu le tutoriel ES6 de Ruan Yifeng sur l'affectation de déstructuration et les valeurs par défaut, je n'ai pas bien compris cette partie.
Lien original

Notez que ES6 utilise l'opérateur d'égalité stricte (===) en interne pour déterminer si une position a une valeur. Par conséquent, Si un membre du tableau n'est pas strictement égal à indéfini, la valeur par défaut ne prendra pas effet.

function f() {
  console.log('aaa');
}

let [x = f()] = [1];

Le livre dit que le code ci-dessus est équivalent au code suivant

let x;
if ([1][0] === undefined) {
  x = f();
} else {
  x = [1][0];
}

Excusez-moi, d'où ça vient [1][0] ? Cela ne devrait-il pas être comme ça ?

let x;
if (1 === undefined) {
  x = f();
} else {
  x = 1;
}
滿天的星座滿天的星座2756 Il y a quelques jours1081

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

  • 学习ing

    学习ing2017-06-07 09:26:42

    Lors de la déconstruction d'un tableau, le principe est le suivant : mettre une ou plusieurs variables dans le tableau A, puis rendre ce tableau A égal à un autre tableau B. Puis lors de la déstructuration, la valeur d'une certaine position dans le tableau A sera égale à la position correspondante du tableau B. valeur.

    let [x = f()] = [1];

    La signification de ce code est de créer d'abord un tableau A. Le premier élément du tableau A est x, puis il y a un tableau B, B = [1].
    Ensuite, laissez A = B. L'effet final est A[ 0] = B[0], qui est x=B[0],也即x=[1][0].
    Donc, pour juger s'il est égal à indéfini, faites ceci

    if([1][0] === undefined)

    répondre
    0
  • PHP中文网

    PHP中文网2017-06-07 09:26:42

    Le 1 dans [1] à droite de

    correspond à x, c'est-à-dire que [1][0] correspond à x

    répondre
    0
  • 欧阳克

    欧阳克2017-06-07 09:26:42

    Déconstruire, déconstruire, déconstruire. . . Le but est donc de dénouer les choses du côté droit du signe égal, il faut donc dénouer [1].

    Alorslet [x]=[1],那么x就是[1][0],也就是1。所以其实x的赋值是根据[1][0] vient juger.

    Je ne sais pas si je comprends ce que je dis, mais je ferais mieux de vous donner la documentation :

    https://developer.mozilla.org...

    répondre
    0
  • Annulerrépondre