*우테코 딥 다이브 스터디 준비 중 작성한 정리본으로 필자의 잘못 이해한 부분이나 부족한 부분이 있을 수 있습니다.
Object 생성자 함수
new 연산자와 함께 Object 생성자 함수를 호출하면 빈 객체를 생성하여 반환한다.
const person = new Object();
생성자 함수 (constructor)란 new 연산자와 함께 호출하여 객체(인스턴스)를 생성하는 함수를 말한다.
생성자 함수에 의해 생성된 객체를 인스턴스라고 한다.
const strObj = new String('Lee');
// String 생성자 함수에 의해 String 객체 생성
생성자 함수에 의한 객체 생성 방식의 장점
- 객체 리터럴에 의한 객체 생성 방식의 문제점
- 동일한 프로퍼티를 갖는 객체를 여러개 생성하려면 매번 같은 프로퍼티를 재기술해야한다.
// 객체 리터럴 예시
// 객체 리터럴은 중괄호({})를 사용하여 객체를 생성하고, 중괄호 내에 프로퍼티와 메서드를 정의합니다.
var circle1 = {
radius: 5,
getDiameter() {
return 2 * this.radius;
}
};
- 생성자 함수에 의한 객체 생성 방식은 객체(인스턴스)를 생성하기 위한 템플릿(클래스)처럼 생성자 함수를 사용하여 프로퍼티 구조가 동일한 객체 여러개를 간편하게 생성할 수 있다.
// 예시
function Circle(radius) {
this.radius = radius;
this.getDiameter = function() {
return 2 * this.radius;
}
}
const circle1 = new Circle(5);
const circle2 = new Circle(10);