prototype lookup

프로토타입 체인 점검 순서

속성 조회 결과가 예상과 다를 때는 인스턴스, 생성자 prototype, 상위 prototype, 체인 끝을 차례로 확인합니다.

own

인스턴스 속성

객체 자신에게 같은 이름의 속성이 있으면 여기서 검색이 끝납니다.

prototype

생성자 prototype

인스턴스에 없으면 [[Prototype]]이 가리키는 객체를 봅니다.

parent

상위 체인

상속된 메서드는 위쪽 prototype에서 공유된 하나의 함수일 수 있습니다.

null

검색 실패

체인 끝까지 없으면 결과는 undefined이며 새 정의가 필요합니다.

덮어쓰기 확인

인스턴스 속성이 prototype 메서드와 같은 이름인지 봅니다.

constructor 복구

Object.createconstructor가 올바른 함수인지 확인합니다.

class도 동일

class 문법의 메서드도 내부적으로 prototype에 배치됩니다.