prototype 2

Prototype - 내장 객체의 프로토타입

자바스크립트의 모든 내장 생성자 함수에서 prototype 프로퍼티를 사용합니다. 1. Object.prototype 객체를 생성하는 방법에는 2가지가 있습니다. 객체 리터럴 방식과 Object 내장 객체 생성자 함수를 사용하는 것입니다. obj = new Object() 를 줄이면 obj = {} 이죠 위 그림처럼 생성자 함수의 prototype 프로퍼티는 다양한 메소드가 구현되어있는 거대한 객체입니다. 때문에 생성자 함수나 리터럴 방식으로 생성된 객체의 [[Prototype]]은 다양한 메소드가 구현되어있는 거대한 객체, 즉 Object.prototype입니다. 우리가 생성한 객체에서 toString 과 같은 메소드를 사용할 수 있는 것은 Object.prototype 객체로 부터 메소드를 상속 받았..

Prototype - 프로토타입 상속

기존의 있는 기능을 가져와 확장하고 싶을 때, 자바스크립트 고유 기능인 프로토타입 상속을 사용할 수 있습니다! 1. [[Prototype]] 자바스크립트의 객체는 [[Prototype]] 이라는 숨김 프로퍼티를 갖습니다. 이 숨김 프로퍼티 값은 null 혹은 다른 객체에 대한 참조입니다. 이때 다른 객체를 참조하는 경우, 참조 대상을 프로토타입이라고 부릅니다. 객체에서 프로퍼티를 읽으려고 할 때, 프로퍼티가 없다면, 자바스크립트는 자동으로 프로토타입 객체에서 프로퍼티를 찾습니다. 이런 동작 방식을 '프로토타입 상속' 이라고 부릅니다. [[Prototype]] 프로퍼티는 내부 숨김 프로퍼티이지만 개발자가 값을 설정할 수 있습니다. __proto__를 사용하면 객체의 프로토타입을 설정할 수 있습니다. let..