[JS] 프로토타입 체인

Jiwon Yoo·2023년 3월 15일
0

프론트엔드

목록 보기
15/38

프로토타입 체인이란?

자바스크립트는 객체의 프로퍼티(메서드 포함)에 접근하려고 할 때 해당 객체에 접근하려는 프로퍼티가 없다면 자신의 부모 역할을 하는 프로토타입의 프로퍼티를 순차적으로 검색하는데 이를 프로토타입 체인이라고 한다. 프로토타입 체인은 자바스크립트가 객체 지향 프로그래밍의 상속을 구현하는 메커니즘이다.

프로토타입 체인의 종점

각각의 객체는 [[Prototype]]이라는 은닉(private) 속성을 가지는데 자신의 프로토타입이 되는 다른 객체를 가리킨다. 그 객체의 프로토타입 또한 프로토타입을 가지고 있고 이것이 반복되다, 최상위에 위치하는 Object.prototype에 도달한다. Object.prototype을 프로토타입 체인의 종점 (End of Prototype Chain)이라고 하며, Object.prototype의 [[Prototype]]의 값은 더 이상의 프로토타입이 없다는 의미의 null이다.

Array.prototype.constructor === Array; // true
Array.prototype === [1,2,3].__proto__; // true
Array.prototype.name === [1,2,3].name; // true

원시 자료형으로 취급 받는 null 자료형이 엄밀히 말해서 원시 자료형이 아닌 이유는 빈 객체 주소를 참조하기 있기 때문이다.

profile
새싹 개발자 🌱

0개의 댓글