prototype chain2 객체 전용 메서드란? 프로토타입 체이닝으로 인해 어떤 생성자 함수이든 prototype은 반드시 "객체"이기 때문에 Object.prototype이 언제나 프로토타입 체인의 최상단에 존재하게 된다. 따라서 객체에서만 사용할 메서드(객체 전용 메서드)는 프로토타입 객체 안에 정의할 수가 없다. 왜냐하면 Object.prototype은 다른 데이터 타입이 __proto__에 반복 접근함으로써 도달할 수 있는 최상위 존재이기 때문! = 다른 데이터타입도 프로토타입 체이닝을 통해 거슬러 올라가 해당 메서드를 사용할 수 있기 때문 = Object.prototype에 메서드를 만드는 순간 다른 데이터타입에서 사용가능 > 객체 전용 메서드 구현방법은? 이와같은 이유로 객체 전용 메서드들은 Object.prototype이 아닌 Object.. 2022. 6. 6. 프로토타입 체이닝 (prototype chaining) 이전 게시물인 "프로토타입 디렉터리 구조"를 좀더 살펴보자면 Object 객체의 디렉터리 구조는 아래와 같다. 배열 리터럴의 디렉터리 구조도 다시 살펴보면 __proto__안에 또다시 __proto__가 등장하는데 Object.prototype과 동일한 내용인 것을 볼 수 있다! > 이유는? prototype 객체가 "객체"이기 때문이다. 결국 모든 객체의 __proto__에는 Object.prototype이 연결된다고 볼 수 있다. 배열 리터럴 기준으로 __proto__는 언제나 생략 가능하기 때문에 Array.prototype 내부의 메서드를 자신의 것처럼 실행할 수 있었듯이, Object.prototype 내부의 메서드 또한 자신의 것처럼 실행할 수 있다는 것이다! 생략가능한 __proto__를 한.. 2022. 6. 4. 이전 1 다음