var a=new Boolean(false);
var b=false;
alert(a 인스턴스ofBoolean);
alert(binstanceofBoolean);
첫 번째는 true로 표시되고
두 번째는 false로 표시됩니다
왜요? 나는 잘 이해하지 못한다.
阿神2017-07-05 10:58:40
JavaScript에는 기본 유형과 참조 유형(객체)이라는 두 가지 유형의 값이 있습니다.
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
개체의 인스턴스입니다.
女神的闺蜜爱上我2017-07-05 10:58:40
객체를 제외한 다른 모든 유형은 객체에 속하는 Boolean 인스턴스인지 확인하는 것입니다. 후속 기본 유형은 new에 의해 생성된 Boolean 인스턴스가 아닌 경우입니다. 결과는 당연히 거짓일 것이다.