prototype chain
프로토타입 체인은 없는 속성을 위쪽 객체에서 찾는다
class 문법을 쓰더라도 메서드는 prototype에 놓이고 인스턴스는 체인을 통해 공유 메서드를 찾습니다.
Own property
Own property
엔진은 먼저 객체 자신에게 해당 속성이 있는지 확인합니다.
Prototype
Prototype
없으면 [[Prototype]]이 가리키는 부모 객체로 올라갑니다.
Constructor
Constructor
생성자 함수의 prototype은 new 인스턴스의 부모 객체가 됩니다.
Class syntax
Class syntax
extends와 super는 프로토타입 상속을 읽기 쉽게 감싼 문법입니다.
메서드 공유
Person.prototype.sayHello는 모든 인스턴스가 같은 함수를
참조합니다.
체인 연결
Object.create 또는 extends로 부모 prototype을 연결합니다.
끝 지점
Object.prototype 이후 null에 도달하면 검색은 undefined로
끝납니다.
프로토타입 상속을 읽는 기준은 복사 여부가 아니라 속성 검색 경로가 어디로 이어지는지입니다.