For Programmer
자바스크립트 - Object객체 본문
728x90
자바스크립트에서는 함수도 객체이다.
Object객체란?
* 자바스크립트의 모든 객체는 Object 객체를 상속 받는데, 그런 이유로 모든 객체는 Object 객체의 프로퍼티를 가지고 있다.
Object객체의 API 사용
* Object객체의 내부 메서드 contain를 생성하여 모든 객체들은 Object객체를 상속받기때문에 모든 객체들은 contain메서드를 사용할 수있다.
Object 객체를 직접 커스터마이징 할경우 발생할 수있는 문제
*위의 코드를 바탕으로 객체 o 를 for in 문으로 출력해보면 다음과같이출력이 된다.
*object는 모든객체의 부모이기때문에 object의 prototype에 메서드를 커스터마이징할경우 모든 객체는 for in문으로 출력시 해당 함수도 같이출력하게된다. (원래 상속을 받게되면 for in문으로 출력시 부모의 prototype에 있는 모든 함수까지 출력하게됨.) 따라서 if(객체이름.hasOwnProperty(name)) { } 으로 상속받지않고 자신의속성인것만 출력하게해주는 위 object메서드를 사용하던가 object객체에 커스터마이징하는건 자제해야한다.
*다음과 같은 상황을 방지하기 위해서는 hasOwnProperty라는 Object객체의 내부 메서드를 이용해야하는데 이는 배열이나 객체내부의 원소이름을 인자로 받아 그것이 상속받은 원소일 경우 false반환 자신의 원소일 경우 true값을 반환해준다.
728x90
'Programming language > JavaScript' 카테고리의 다른 글
자바스크립트 - 레퍼객체 (0) | 2020.07.24 |
---|---|
자바스크립트 - 원시데이터 타입 과 레퍼객체 (0) | 2020.07.24 |
자바스크립트 - 내장객체 (0) | 2020.07.24 |
자바스크립트 - 상속 (0) | 2020.07.24 |
자바스크립트 - 리터럴 (0) | 2020.07.24 |
Comments