동일한 객체를 여러개 만들때 필요한 것이다.
생성자 함수로 객체 초기화를 담당한다.
new
로 class
에 대한 Instance
를 생성할때, constructor
라는 생성자 함수 내용은 Instance
안에 넣어준다.
new
로 Instance
를 생성할때 프로퍼티 초기화가 되지 않는다.
하지만, Instance
를 생성해서 동적으로 프로퍼티를 생성하는것은 가능하다
동적으로 프로퍼티 생성을 한다면 가독성과 유지보수가 힘들어진다.
class
를 이용해서 만들어진 구체적인 객체이다.
이것을 알기 위해서는 객체의 프로토 타입 상속에 대해서 알아야한다
어떠한 class
에서의 method가 있는데 method에 약간의 기능을 얹어 객체를 만들기 위해 나온 것이다.
모든 instance
는 [[prototype]]
이라는 숨김 프로퍼티가 있다
[[prototype]]
은 null
또는 다른 객체의 참조인데, 이 객체를 Prototype이라고 부른다.
JavaScript는 객체에서 자동으로 프로토타입의 프로퍼티를 찾게 되어있다.
이것을 프로퍼티 상속이라 부른다
[[prototype]]
을 조회하기 위해서는 __proto__
코드로 조회해볼 수 있다.
instance
가 참조한 class
의 method
와 프로퍼티가 담겨 있는 것이다.
이것으로 class
에서 만들어진 프로퍼티와 method를 instance
에서 받아 볼 수 있는 것이다.