recherche

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

javascript - Questions sur le type de js

Le résultat de retour de typeof que j'ai vu aujourd'hui est en fait un entier. Et pourquoi les résultats sur la photo sont 1.

学习ing学习ing2805 Il y a quelques jours826

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

  • 天蓬老师

    天蓬老师2017-06-15 09:25:38

    1. Parce que typeof a une priorité plus élevée
    2 Ou parce que l'opérateur d'addition a une priorité plus élevée

    .

    répondre
    0
  • 大家讲道理

    大家讲道理2017-06-15 09:25:38

    var a=true;
    console.log(a);//返回true
    console.log(typeof a);//返回boolean
    console.log(typeof(typeof a));//返回"string"
    

    Essentiellement, le type de a ? 1 : 2 peut s'écrire comme ceci :

    "boolean" ? 1:2
    

    Et cette expression ternaire appelle Boolean() pour convertir le type de chaîne, c'est-à-dire :
    Boolean("boolean") ====>true
    Donc le retour est 1.
    Vous pouvez essayer d'attribuer a à false, et la valeur de retour sera toujours 1 :

    var a=false;
    typeof a ? 1 : 2

    répondre
    0
  • 代言

    代言2017-06-15 09:25:38

    Cette déclaration est compilée comme ceci
    (typeof a)? 1 : 2
    Une fois compilée, elle a été modifiée sous cette forme, et voici le résultat. Opérateur ternaire

    répondre
    0
  • 学习ing

    学习ing2017-06-15 09:25:38

    Rien de mal

    Boolean('string') => true

    répondre
    0
  • 伊谢尔伦

    伊谢尔伦2017-06-15 09:25:38

    En prenant votre exemple, l'opérateur
    ternaire, lorsque typeof a est vrai, renvoie 1, et lorsque
    typeof a est faux, il renvoie 2.
    Les 100 premiers + a ; ont été convertis en type, donc 100 + a = 101,
    les résultats renvoient donc également 1

    répondre
    0
  • Annulerrépondre