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

javascript - Différence entre un objet booléen et un type booléen de base

var a=new Boolean(false);
var b=false;
alert(a instanceof Boolean);
alert(b instanceof Boolean);
Le premier apparaît vrai
Le second apparaît faux
Pourquoi ? Je ne comprends pas très bien.

淡淡烟草味淡淡烟草味2650 Il y a quelques jours1090

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

  • 阿神

    阿神2017-07-05 10:58:40

    Il existe deux types de valeurs en JavaScript : les types primitifs et les types référence (objets).

    false 是一个 boolean 原始类型的值,不是对象,所以 false instanceof Booleanfalse.

    Similaire "foo" instanceof String 也是 false.

    La vérification des types primitifs peut être effectuée avec typeof.

    Vous verrez typeof false 的值是 "boolean", notez le "b" minuscule.

    et :

    typeof Boolean"function"
    Boolean instanceof Objecttrue

    Étant donné que JavaScript effectue la conversion de type de manière silencieuse, les utilisateurs ignorent souvent les différences entre les types. Par exemple, une instance de l'objet var length = "hello world".length,就是把原始类型 string 转换成了 String.

    répondre
    0
  • PHP中文网

    PHP中文网2017-07-05 10:58:40

    var a = new Boolean(false);
    var b = false;
    alert(typeof a); // 'Object'
    alert(typeof b); // 'Boolean'
    alert(a === b); // false

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

    过去多啦不再A梦2017-07-05 10:58:40

    instanceof est utilisé pour déterminer si un objet est une instance d'un certain constructeur
    b n'est évidemment pas un objet

    .

    répondre
    0
  • 女神的闺蜜爱上我

    女神的闺蜜爱上我2017-07-05 10:58:40

    À l'exception de l'objet, tous les autres types sont des types de base. Ce que vous êtes ici est de déterminer s'il s'agit d'une instance booléenne, qui appartient à l'objet. Le type de base suivant est faux. S'il ne s'agit pas d'une instance booléenne produite par new, le type de base suivant est faux. le résultat sera bien sûr faux.

    répondre
    0
  • Annulerrépondre