프로토타입(prototype)은 원래의 형태 또는 전형적인 예, 기초 또는 표준이다. 시제품이 나오기 전의 제품의 원형으로 개발 검증과 양산 검증을 거쳐야 시제품이 될 수 있다. 프로토타입은 '정보시스템의 미완성 버전 또는 중요한 기능들이 포함되어 있는 시스템의 초기모델'이다.
JavaScript는 프로토타입(Prototype) 기반 언어입니다. 여기서 프로토타입은 원형 객체를 의미합니다.
프로토타입 체인
자바스크립트는 특정 프로퍼티에 접근할 때 해당 객체에 프로퍼티가 없으면 [[Prototype]] 내부 슬롯의 참조를 따라 상위 프로토타입의 프로퍼티를 순차적으로 검색한다. 이를 프로토타입 체인이라 한다. 이와 비슷한 개념으로 스코프 체인이 있다. 스코프 체인은 식별자 검색을 위한 메커니즘으로 프로토타입 체인은 상속과 프로퍼티 검색을 위한 메커니즘으로 이해하면 되겠다. 이 둘은 별도로 동작하는 것이 아니고 서로 협력하여 식별자와 프로퍼티를 검색한다.
.prototype
생성자함수의 .prototype이라는 속성은 항상 prototype 객체, 어떠한 객체(prototype)를 가리키고 있다. 이 객체는 항상 constructor라는 속성이 있다. .constructor를 하면 다시 본인의 생성자 함수를 가리키게 된다. 생성자 함수와 prototype는 서로 쌍을 이루게 되어 있다.
.proto