var a=new Boolean(false);var b=false;alert(a 인스턴스ofBoolean);alert(binstanceofBoolean);첫 번째는 true로 표시되고두 번째는 false로 표시됩니다왜요? 나는 잘 이해하지 못한다.
JavaScript에는 기본 유형과 참조 유형(객체)이라는 두 가지 유형의 값이 있습니다.
false 是一个 boolean 原始类型的值,不是对象,所以 false instanceof Boolean 是 false.
false
boolean
false instanceof Boolean
비슷해요"foo" instanceof String 也是 false.
"foo" instanceof String
기본 유형 확인은 typeof로 수행할 수 있습니다.
typeof
typeof false 的值是 "boolean"가 표시됩니다. 소문자 "b"에 유의하세요.
typeof false
"boolean"
그리고:
typeof Boolean 是 "function"Boolean instanceof Object 是 true
typeof Boolean
"function"
Boolean instanceof Object
true
JavaScript는 자동으로 유형 변환을 수행하기 때문에 사용자는 유형 간의 차이점을 무시하는 경우가 많습니다. 예를 들어 var length = "hello world".length,就是把原始类型 string 转换成了 String 개체의 인스턴스입니다.
var length = "hello world".length
string
String
으아악
instanceof는 객체가 특정 생성자의 인스턴스인지 확인하는 데 사용됩니다. b는 분명히 객체가 아닙니다
객체를 제외한 다른 모든 유형은 객체에 속하는 Boolean 인스턴스인지 확인하는 것입니다. 후속 기본 유형은 new에 의해 생성된 Boolean 인스턴스가 아닌 경우입니다. 결과는 당연히 거짓일 것이다.
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
개체의 인스턴스입니다.으아악
instanceof는 객체가 특정 생성자의 인스턴스인지 확인하는 데 사용됩니다.
b는 분명히 객체가 아닙니다
객체를 제외한 다른 모든 유형은 객체에 속하는 Boolean 인스턴스인지 확인하는 것입니다. 후속 기본 유형은 new에 의해 생성된 Boolean 인스턴스가 아닌 경우입니다. 결과는 당연히 거짓일 것이다.