WEB · JS
프로토타입 체인 탐색 플로우
객체에서 속성을 찾을 때 먼저 자기 자신을 보고, 없으면 [[Prototype]]을 따라 위로 올라가며 마지막까지 없으면 undefined가 됩니다.
검색 순서
prototype
object
자기 own property 확인
prototype
생성자 prototype에서 탐색
Object.prototype
공통 메서드 영역 확인
undefined
끝까지 없으면 undefined
object
→
prototype
→
Object.prototype
→
undefined
주의 지점
check
own property
hasOwnProperty로 직접 가진 속성인지 확인합니다.
shadowing
같은 이름이 있으면 가까운 속성이 먼저 쓰입니다.
메서드 공유
프로토타입에 둔 메서드는 인스턴스들이 공유합니다.
체인 종료
Object.create(null)은 기본 prototype이 없을 수 있습니다.