var a=new Boolean(false);
var b=false;
alert(ainstanceofBoolean);
alert(binstanceofBoolean);
最初の true がポップアップします
2 番目のポップアップは false
なぜですか?よくわかりません。
阿神2017-07-05 10:58:40
JavaScriptにはプリミティブ型と参照型(オブジェクト)の2種類の値があります。
false
是一个 boolean
原始类型的值,不是对象,所以 false instanceof Boolean
是 false
。
似たもの"foo" instanceof String
也是 false
。
プリミティブ型のチェックは typeof
を使用して実行できます。
typeof false
的值是 "boolean"
が表示されます。小文字の「b」に注意してください。
そして:
typeof Boolean
是 "function"
Boolean instanceof Object
是 true
JavaScript は型変換をサイレントに実行するため、ユーザーは型間の違いを無視することがよくあります。たとえば、var length = "hello world".length
,就是把原始类型 string
转换成了 String
オブジェクトのインスタンスです。
过去多啦不再A梦2017-07-05 10:58:40
instanceof は、オブジェクトが特定のコンストラクターのインスタンスであるかどうかを判断するために使用されます
b は明らかにオブジェクトではありません
女神的闺蜜爱上我2017-07-05 10:58:40
object を除いて、他のすべての型は、object に属する Boolean インスタンスであるかどうかを判断することです。 new によって生成された Boolean インスタンスではない場合、結果は当然 false になります。