>웹 프론트엔드 >JS 튜토리얼 >JavaScript isPrototypeOf 및 hasOwnProperty 사용법의 차이점(실용)

JavaScript isPrototypeOf 및 hasOwnProperty 사용법의 차이점(실용)

亚连
亚连원래의
2018-05-21 15:02:491628검색

JavaScript isPrototypeOf 및 hasOwnProperty 사용에 대한 팁이 필요한 친구는 참고할 수 있습니다.

1.isPrototypeOf
isPrototypeOf는 지정된 객체 object1이 다른 객체 object2의 프로토타입 체인에 존재하는지 확인하는 데 사용됩니다. 그렇다면 true를 반환하고, 그렇지 않으면 false를 반환합니다.
형식은 다음과 같습니다.
object1.isPrototypeOf(object2);
object1은 객체의 인스턴스입니다.
object2는 프로토타입 체인이 확인되는 또 다른 객체입니다.
프로토타입 체이닝을 사용하면 동일한 객체 유형의 여러 인스턴스 간에 기능을 공유할 수 있습니다.
object2의 프로토타입 체인에 object1이 포함되어 있으면 isPrototypeOf 메서드는 true를 반환합니다.
object2가 객체가 아니거나 object1이 object2의 프로토타입 체인에 나타나지 않으면 isPrototypeOf 메서드는 false를 반환합니다.
사용 예는 다음과 같습니다.

var re = /^s*/;
// 여기에 정규식 개체를 정의합니다.
// RegExp가 re의 프로토타입 체인 개체인지 확인하고 true를 반환합니다.
var bIsptt = RegExp.prototype .isPrototypeOf(re);

2.hasOwnProperty hasOwnProperty는 객체에 명명된 속성이 있는지 여부를 확인합니다. 이 메서드는 객체가 프로토타입 체인에 속성을 가지고 있는지 여부를 확인할 수 없습니다. .
프로토타입 체인이 아닌 객체 자체에 의해 속성이나 메서드가 정의된 경우 true를 반환하고, 그렇지 않으면 false를 반환합니다.
형식은 다음과 같습니다.
object.hasOwnProperty(proName); 객체 객체 속성 또는 객체. 사용 예는 다음과 같습니다.

// 프로토타입 체인의 속성을 감지할 수 없으므로 false를 얻습니다.

var bStr = "Test String".hasOwnProperty("split")
// String 개체의 프로토타입에는 이미 이 속성은 자연스럽게 true를 반환합니다.
var bStr1 = String.prototype.hasOwnProperty("split");
// 프로토타입의 속성이 감지되지 않으므로 true를 반환합니다.
var bObj = ({fnTest:function(){}}) .hasOwnProperty("fnTest ");

위 내용은 제가 모든 사람을 위해 정리한 내용입니다. 앞으로 모든 사람에게 도움이 되기를 바랍니다.

관련 기사:

JQuery, Extjs, YUI, Prototype, Dojo 등 JS 프레임워크의 차이점 및 적용 시나리오(실용 팁)

JavaScript 객체 지향의 객체 유형 및 범위에 대한 종합 분석 개념 (첨부 예)

JavaScript의 __proto__ 속성 ​​설명에 중점을 둡니다(그림 및 텍스트 튜토리얼)

위 내용은 JavaScript isPrototypeOf 및 hasOwnProperty 사용법의 차이점(실용)의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.