프로토타입과 상속 구조
객체는 숨은 프로토타입 링크로 연결되고 속성 조회는 가까운 객체에서 시작해 체인의 끝까지 진행된다.
| 단계 | 조회 위치 | 찾으면 | 못 찾으면 |
|---|---|---|---|
| Own property | 객체 자신 | 즉시 그 값 사용 | [[Prototype]]으로 이동 |
| Prototype | 부모 역할 객체 | 공유 메서드 사용 | 다음 링크로 이동 |
| Constructor prototype | 생성자가 공유한 메서드 묶음 | 인스턴스들이 함께 사용 | Object.prototype까지 이동 |
| End | null 또는 체인 끝 | 조회 종료 | undefined 반환 |
| Shadowing | 자기 속성이 prototype 속성을 가림 | 가까운 값 우선 | 공유 메서드와 인스턴스 값 혼동 |
프로토타입 상속은 복사보다 링크에 가깝다. 속성은 가까운 객체에서 먼 객체 순서로 찾는다.