javascript - Différence entre un objet booléen et un type booléen de base
淡淡烟草味2017-07-05 10:56:40
0
4
1180
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.
É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.
À 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.
Il existe deux types de valeurs en JavaScript : les types primitifs et les types référence (objets).
false
是一个boolean
原始类型的值,不是对象,所以false instanceof Boolean
是false
.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 Object
是true
É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
.instanceof est utilisé pour déterminer si un objet est une instance d'un certain constructeur
.b n'est évidemment pas un objet
À 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.