코어 자바스크립트 06 | 프로토타입
자바스크립트는 프로토타입 기반 언어이다.
클래스 기반 언어에서는 '상속'을 사용하지만 프로토타입 기반 언어에서는 어떤 객체를 원형(원래 형태)으로 삼고 이를 복제(참조)함으로써 상속과 비슷한 효과를 얻는다.
프로토타입의 개념
var instance = new Constructor();
어떤 생성자 함수(new)를 new 키워드와 함께 호출하면
생성자 함수에서 정의된 내용을 바탕으로 새 인스턴스(instance)가 생성된다.
이때 인스턴스에서는 __proto__라는 프로퍼티가 자동으로 부여되는데,
__proto__는 Contructor.prototype라는 프로퍼티를 참조한다.
01 var Person = function(name) { 02 this._name = name; 03 }; 04 Person.prototype.getName = function() { 05 return this._name; 06 }; 07 08 var suzi = new Person('Suzi', 28); 09 suzi.getName(); // Suzi 10 var iu = new Person('Jieun', 28); 11 iu.getName(); // Jieun
__proto__는 생략 가능한 프로퍼티이다. 때문에 생성자 함수의 prototype에 어떤 메서드나 프로퍼티가 있다면 인스턴스에서도 마치 자신의 것처럼 해당 메서드나 프로퍼티에 접근할 수 있다.
=> new 연산자로 Constructor를 호출하면 instance가 만들어지는데, 이 instance의 생략 가능한 프로퍼티인 proto는 Constructor의 prototype을 참조한다.
Author And Source
이 문제에 관하여(코어 자바스크립트 06 | 프로토타입), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://velog.io/@yuriyaam/코어-자바스크립트-06-프로토타입저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)