[javascript] 생성자 함수

자바스크립트에서 생성자 함수는 객체를 생성하기 위한 함수입니다. 생성자 함수는 new 연산자와 함께 사용되어 객체를 생성하고 초기화하는 역할을 합니다.

생성자 함수의 정의

생성자 함수는 일반 함수와 다르게 첫 글자를 대문자로 작성하여 구분하곤 합니다. 아래의 예제는 Car 생성자 함수를 정의한 것입니다.

function Car(make, model, year) {
  this.make = make;
  this.model = model;
  this.year = year;
}

객체 생성하기

생성자 함수를 사용하여 객체를 생성하는 방법은 아래와 같습니다.

let myCar = new Car('Hyundai', 'Sonata', 2021);

위의 코드를 실행하면 myCar 변수에는 Car 생성자 함수를 통해 만들어진 새로운 객체가 할당됩니다.

프로토타입

생성자 함수는 프로토타입을 이용하여 모든 인스턴스가 공유하는 메서드나 속성을 정의할 수 있습니다. 이를 통해 중복되는 코드를 최소화하고 메모리를 효율적으로 관리할 수 있습니다.

Car.prototype.displayInfo = function() {
  console.log(`This is a ${this.year} ${this.make} ${this.model}`);
};

위의 코드는 Car 생성자 함수의 프로토타입에 displayInfo 메서드를 추가한 예시입니다. 모든 Car 객체는 이 메서드를 공유하게 됩니다.

생성자 함수를 활용하면 유연하고 효율적으로 객체를 생성하고 관리할 수 있습니다.

참고 자료

  1. MDN web docs - Constructors and the prototype chain