반응형
객체안에 키가 있는지 확인하기 위해서는 크게 2가지 방법이 있다.
hasOwnProperty 와 in 을 사용하는 방법이다.
이 둘의 차이점은 prototype의 내용까지 참조하는지 않하는지에 대한 차이이다.
function Person(){
this.name = 'K';
}
Person.prototype.eyes = 2;
var k = new Person();
console.log(k.hasOwnProperty('name')); // true
console.log('name' in k); // true
console.log(k.hasOwnProperty('eyes')); // false
console.log('eyes' in k); // true
console.log(('name' in k) && !k.hasOwnProperty('name'));
//false
console.log(('eyes' in k) && !k.hasOwnProperty('eyes'));
//true
in의 경우 prototype의 내용까지 모두 참조하여 true를 반환하고
hasOwnProperty는 prototype의 내용을 제외하고 참조하여 true를 반환한다.
반응형
'프로그래밍 언어 > javascript' 카테고리의 다른 글
Javascript - 브라우저 객체 모델 (0) | 2016.12.08 |
---|---|
javascript 객체 (0) | 2016.12.02 |
[nodejs] Sublime Text jade highlight을 위한 플러그인 추가 (0) | 2016.07.11 |
HTML 이란 (1) | 2016.01.22 |
SAX (Simple API for XML) - 이벤트 지향 모델 (0) | 2014.01.25 |