1. Prototype
  2. Constructor & new
  3. OOP & Instance

Prototype

자바스크립트는 프로토타입 기반 객체지향 언어입니다. 다른 언어는 클래스 기반 객체지향언어(OOP)입니다.
ES2015에 추가된 class문법이 추가되었습니다. 하지만 문법이 추가되었다는 것이지, 자바스크립트가 클래스 기반으로 바뀌었다는 것은 아닙니다.

객체는 함수로부터 시작된다. 즉 객체는 언제나 함수로 생성된다.

JavaScript에서는 객체 간에 공유되어야 하는 속성과 메소드를, 프로토타입이라는 기능을 이용해서 효율적으로 저장합니다. 객테에 프로토타입을 지정하면, 프로토타입의 속성을 해당 객체에서 재상용할 수 있습니다.

프로토타입 기능을 이용해 한 객체에서 다른 객체의 기능을 가져와 사용하는 것을 프로토타입 상속이라고 합니다.

Constructor & new

1
2
function Book() {} //함수
const jsBook = new Book(); //함수로 객체 생성, 생성자, Book의 jsBook이라는 인스턴스

생성자는 새로 생성된 객체를 초기화하는 역할을 합니다.
new키워드와 함께 사용하는 함수를 가지고 생성자라고 부릅니다.

OOP & Instance

생성자를 통해 생성된 객체를 그 생성자의 인스턴스라고 합니다.

1
2
//person1이 Person의 인스턴스입니다.
person1 instanceof Person;

참고한 자료및 주소

https://medium.com/@bluesh55/javascript-prototype-%EC%9D%B4%ED%95%B4%ED%95%98%EA%B8%B0-f8e67c286b67

Prototype 이제는 이해하자