L = L._proto_는 L이 프로토타입 체인까지 프로토타입을 검색한다는 의미이며, 이 예에서는 마지막으로 Number ==> Object 객체에서 객체를 래핑하고 R은 Object, 합동 연산자를 전달한 후 true를 반환하므로 instance_of(a,Object)는 true입니다. L = L._proto_ 代表着L会沿着原型链一直向上查找原型,而在本例中,最后是从Number包装对象==>Object对象,而R就是Object,再经过全等运算符之后就返回true,所以instance_of(a,Object)为true。
a instanceof Object
instanceofObject는 프로토타입 체인 검색을 거치지 않고 Number 객체의 인스턴스와 Object 사이에서 직접 판단하기 때문에 false를 반환하므로 결과는 false입니다🎜
소유자님,
을 사용해 보세요instance_of
是代替不了instanceof
의먼저 샘플 a가 Number 유형인지 확인하세요
그러나 실행 결과는 다음과 같습니다
instance_of(a, Object) // true
instance_of(a, Number) // true
instance_of 메소드 수정:
으아악다시 실험해 보세요:
으아악이 글에서 사용된 표준은 ES3입니다
ES6의
instanceof
标准更长一点, 规定了当type(L)
不是Object时L instanceof R
는 false를 반환해야 합니다. 이 모의 코드는 적용되지 않습니다한 부분은 시뮬레이션 코드에 있는 프로토타입 체인의 콘텐츠입니다.
으아아아L = L._proto_
는 L이 프로토타입 체인까지 프로토타입을 검색한다는 의미이며, 이 예에서는 마지막으로 Number ==> Object 객체에서 객체를 래핑하고 R은 Object, 합동 연산자를 전달한 후 true를 반환하므로instance_of(a,Object)
는 true입니다.L = L._proto_
代表着L会沿着原型链一直向上查找原型,而在本例中,最后是从Number包装对象==>Object对象,而R就是Object,再经过全等运算符之后就返回true,所以instance_of(a,Object)
为true。a instanceof Object
instanceofObject
는 프로토타입 체인 검색을 거치지 않고 Number 객체의 인스턴스와 Object 사이에서 직접 판단하기 때문에 false를 반환하므로 결과는 false입니다🎜