hasOwnProperty 및 isPrototypeOf 메서드 사용

1835 단어 prototype
hasOwnProperty(): 객체에 특정 속성이 있는지 여부를 판단합니다.이 속성을 문자열로 지정해야 합니다.(예: o.hasOwnProperty("name"))//w3cschool에서 복사
IsPrototypeOf(): 객체가 다른 객체의 원형인지 여부를 판단합니다.
그러나hasOwnProperty는 값을 부여받을 수 있습니다. 이것은 안전하지 않습니다.따라서hasOwnProperty 검사 결과를 완전히 신뢰할 수 없습니다.
function Person(name,color){

    this.name=name;

    this.color=color;

}

Person.prototype.sayName=function(){

    alert(this.name);

}



var oP = new Person("aa",'red');

var oP2 = new Person('bb','blue');

oP.age=30;



console.log(oP.hasOwnProperty('name'));   //true

console.log(oP.hasOwnProperty('color'));  //true

console.log(oP.hasOwnProperty('age'));    //true

console.log(oP.hasOwnProperty('sayName'));//false

console.log(Person.prototype.isPrototypeOf(oP)); //true

좋은 웹페이지 즐겨찾기