recherche

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

javascript + opérateur

js dans la console

++[[]][0] 为什么这个不报错
++[] Où est ce rapport d'erreur

我想大声告诉你我想大声告诉你2789 Il y a quelques jours437

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

  • 迷茫

    迷茫2017-05-19 10:22:53

    ++[[]][0] :
    [[]] est un tableau contenant uniquement un tableau vide, puis selon la priorité de l'opérateur,< code >[] > (prefix)++, utilisez [[]][0] et obtenez un tableau vide Array(0), qui est L'objet ++[[]][0]:
    [[]]是一个只包含一个空数组的数组,那么根据运算符优先级,[] > (prefix)++,运算[[]][0],得到一个空数组Array(0),是一个对象,并且是数组中的一个值,符合左值的条件.之后进行(prefix)++运算,由于++运算将执行数据类型转换(PS:Javascript中具体的数据类型转换太复杂了,我就不展开了),这里Array[0]将转换成0,结果++得到1.

    具体可看控制台输出:

    console.log([[]])
    // > [Array(0)]
    console.log([[]][0])
    // > []
    

    ++[]et est une valeur dans le tableau, remplit les conditions de lvalue

    Ensuite, l'opération (prefix)++ est effectuée, car le ++. l'opération exécutera la conversion du type de données (PS : la conversion du type de données spécifique en Javascript est trop compliquée, je ne m'étendrai pas là-dessus), ici Array[0] sera converti en 0 , et le résultat est ++Get 1.

    Veuillez consulter la sortie de la console pour plus de détails : rrreee

    ++[] :
    Lvalue

    est un tableau vide, pas une lvalue légale, donc une erreur est signalée.

    Quelle est la 🎜valeur restante🎜 :🎜 🎜🎜Lvalue est un ancien terme qui signifie qu'une expression ne peut apparaître que sur le côté gauche de l'opérateur d'affectation. En JavaScript, les variables, les propriétés des objets et les éléments du tableau sont tous des valeurs.🎜🎜

    répondre
    0
  • 过去多啦不再A梦

    过去多啦不再A梦2017-05-19 10:22:53

    J'ai déjà répondu à cette question et posté le lien directement :

    Problème de conversion de type js

    répondre
    0
  • Annulerrépondre