반응형
일전에 게시한 프로토타입 게시물들을 보게 되면
프로토타입 체인상 가장 마지막에는 언제나 Object.prototype이 있다고 볼 수 있는데,
예외적으로 Object.create 를 이용하면 Object.prototype의 메서드에 접근할 수 없도록 할 수 있다.
Object.create(null) 은 __proto__가 없는 객체를 생성한다.
> 예시
1. 변수 _proto에 __proto__ 프로퍼티가 없는 객체를 할당하고
2. getValue 메서드 추가해보았다.
3. 변수 obj에 앞서 만든 _proto를 __proto__로 하는 객체를 할당
> 정리
변수 obj를 출력해보면 __proto__에는 오직 getValue 메서드만이 존재하며
__proto__ 및 construtor 프로터티 등은 보이지 않는 것을 볼 수 있다.
이 방식으로 만든 객체는 일반적인 데이터에서 반드시 존재하던 내장(built-in) 메서드나 프로퍼티들이 제거됨으로써
기본 기능에 제약이 생긴 대신, 객체 자체의 무게가 가벼워짐으로써 성능적 이점을 가질 수 있다고 한다.
반응형
'JavaScript' 카테고리의 다른 글
클래스 비교(ES5 vs ES6) (0) | 2022.07.24 |
---|---|
Static Methods, Prototype Methods 정리 (0) | 2022.07.17 |
객체 전용 메서드란? (0) | 2022.06.06 |
프로토타입 체이닝 (prototype chaining) (0) | 2022.06.04 |
프로토타입(prototype) - constructor 프로퍼티 (0) | 2022.05.29 |
댓글