recherche

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

javascript - [Déterminer rapidement si le tableau est vide] []==false Pourquoi renvoie-t-il vrai ?

console.log([]==false); //输出为true

console.log(['1']==false);//输出为false

On peut voir que cela peut déterminer rapidement si le tableau est vide, mais il y a quelques doutes sur le principe.
Connu :

1. Opérateur d'égalité "==" : convertissez d'abord puis comparez. Si l'un des opérandes est un booléen, il est converti en valeur numérique avant de comparer l'égalité. False est converti en 0 et true est converti en 1.

2. Si un opérande est un objet et que l'autre ne l'est pas, appelez la méthode valueOf() de l'objet et utilisez la valeur de type de base obtenue pour la conversion.

Donc, le côté droit de []==fasle sera converti en 0. Et le côté gauche ? Comment est-il converti ?

習慣沉默習慣沉默2705 Il y a quelques jours1283

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

  • 黄舟

    黄舟2017-07-05 10:53:52

    Ceci est pour vous, un tableau comparatif de javascript : Opérateurs Relationnels et Égitaires

    répondre
    0
  • typecho

    typecho2017-07-05 10:53:52

    http://tech.youzan.com/javasc...
    Vous comprendrez après l'avoir lu

    répondre
    0
  • 大家讲道理

    大家讲道理2017-07-05 10:53:52

    Parce qu'elles seront converties en valeurs booléennes à des fins de comparaison,
    []==false
    =>
    true == false  //false

    répondre
    0
  • 怪我咯

    怪我咯2017-07-05 10:53:52

    Convertissez d'abord au numéro 0, puis comparez.

    répondre
    0
  • 世界只因有你

    世界只因有你2017-07-05 10:53:52

    Il est logique d'utiliser cette méthode pour juger que le tableau est vide, n'est-ce pas ?

    if([]){
        alert('1111');
    }

    Je pensais que ça ne rebondirait pas, mais c’est le cas. Dans la plupart des cas, on juge encore en fonction de la longueur. Bien entendu, la longueur est aussi un écueil lorsqu’on juge du nombre d’éléments !

    répondre
    0
  • 滿天的星座

    滿天的星座2017-07-05 10:53:52

    On peut seulement dire que le mécanisme interne de js est qu'un tableau vide est faux, donc false==false est vrai ! Ensuite, le tableau non vide est naturellement converti en vrai, et true==false n'est pas vrai ! Y a-t-il quelque chose de difficile à comprendre ?

    répondre
    0
  • Annulerrépondre