<aside>
📌 생성자 함수란 new
연산자와 함께 호출하여 객체를 생성하는 함수를 말한다.
</aside>
Object 생성자 함수
const person = new Object(); // 빈 객체 생성
- JS은 Object 뿐만 아니라 Number, Array, Promise,… 등 다양한 빌트인 생성자 함수를 제공한다.
- Object 생성자 함수는 빈 객체를 생성할 뿐, 그다지 유용하지 않아 보이고, 객체 리터럴 방식이 더 간단해 보임
생성자 함수
🤔 객체 리터럴로 객체를 생성하면 안되나?
- 장점
- 단점
- 하나의 객체만 생성할 수 있음
- 동일한 프로퍼티를 갖는 객체를 여러 개 생성할 때 비효율적
💡 생성자 함수로 객체를 생성할 때의 장점
- 클래스 - 인스턴스처럼 프로퍼티 구조가 동일한 객체 여러 개를 간편하게 생성할 수 있음
- 예시 코드
생성자 함수의 인스턴스 생성 과정
- 인스턴스 생성과 this 바인딩 (this는 인스턴스를 가리킴)
런타임 이전에 실행
- 인스턴스 초기화
- 인스턴스 반환
암묵적으로 this를 반환 → 만약 명시적으로 객체를 반환하면 this 반환이 무시됨