1 2 3 4 5 6 7 | class Person { constructor(name) { this.name = name; } } const me = new Person('Lee Joong Won'); console.log(me.hasOwnProperty('name')); //true | cs |
위 코드를 보면 Person 생성자 함수에 의해 생성된 인스턴스 me 객체는 Object의 메서드를 사용하고 있다
이를 통해 알수있는것은 me의 객체가 Person 프로토타입의 프로퍼티 뿐만아니라 Object 프로토타입의 프로퍼티를 상속받은것을 알 수 있다
자바스크립트에서는 객체의 프로퍼티(메서드 포함)에 접근 할 때 접근하려는 프로퍼티가 없다면 프로토타입 내부 슬롯의 참조를 따라 순차적으로 검색합니다
( me -> Person -> Object 순으로 검색하여 hasOwnProperty() 를 찾아 me 객체가 사용한것입니다)
이것을 체인처럼 연결되어있다고 하여 프로토타입 체인이라고 합니다
프로토타입 체인은 객체지향 프로그래밍에서 상속을 구현하는 방식입니다
프로토타입의 최상위 객체는 Object 입니다
모든 객체는 자동으로 Object를 상속받습니다
'JavaScript' 카테고리의 다른 글
Promise의 기능과 필요한 이유 (0) | 2022.10.19 |
---|---|
프로토타입 (0) | 2022.09.21 |
객체지향 프로그래밍이란? (1) | 2022.09.21 |
클래스와 인스턴스 (0) | 2022.09.21 |
함수란? (0) | 2022.09.20 |