
목차
JavaScript에서 객체를 생성하는 주요 방법 중 하나는 ‘생성자 함수’를 이용하는 것입니다. 이 포스트에서는 JavaScript의 생성자 함수에 대해 자세히 살펴보고, 어떻게 이를 사용하는지 실제 코드 예제를 통해 살펴보겠습니다.
1. JavaScript 생성자 함수란?
생성자 함수는 JavaScript에서 객체를 생성하고 초기화하는 역할을 합니다. 함수 이름의 첫 글자는 대문자로 시작하는 것이 일반적입니다. new
연산자와 함께 사용되어 객체를 생성하고 초기화하는데, 이때 해당 함수는 생성자 함수로 동작합니다.
<code>function Car(make, model, year) {
this.make = make;
this.model = model;
this.year = year;
}
const car1 = new Car('Tesla', 'Model S', 2023);
console.log(car1);
</code>
이 코드는 Car
라는 생성자 함수를 정의하고, 새로운 Car
객체인 car1
를 생성합니다. Car
생성자 함수는 3개의 매개변수를 받아, 새로 생성된 객체의 속성을 초기화합니다.
2. JavaScript 생성자 함수의 특징
생성자 함수는 일반 함수와 마찬가지로 작동하지만, 몇 가지 중요한 차이점이 있습니다.
- 생성자 함수는 대문자로 시작합니다: 이는 JavaScript 개발자 사이에서의 관습이며, 일반 함수와 구별하기 위한 방법입니다.
- 생성자 함수는
new
연산자와 함께 사용됩니다:new
연산자를 통해 생성자 함수를 호출하면 새로운 객체가 생성되고, 이 객체를 초기화하는 데 사용됩니다. this
키워드는 생성된 객체를 가리킵니다: 생성자 함수 내에서this
키워드를 사용하면, 생성된 객체를 참조합니다. 이를 통해 객체의 속성을 설정하거나 메소드를 정의할 수 있습니다.
3. JavaScript 생성자 함수의 사용
이제 생성자 함수를 어떻게 사용하는지 실제 코드를 통해 살펴보겠습니다.
<code>function Employee(name, position, yearHired) {
this.name = name;
this.position = position;
this.yearHired = yearHired;
this.yearsExperience = function() {
const currentYear = new Date().getFullYear();
return currentYear - this.yearHired;
}
}
const emp1 = new Employee('John Doe', 'Software Engineer', 2019);
console.log(emp1.yearsExperience());
</code>
위의 코드는 Employee
라는 생성자 함수를 정의하고, 새로운 Employee
객체 emp1
을 생성하며, 객체의 yearsExperience
메소드를 호출하는 과정을 보여줍니다. Employee
생성자 함수는 세 개의 매개변수를 받고, 이를 통해 객체의 속성을 초기화합니다. 또한 yearsExperience
라는 메소드를 통해 재직 기간을 계산할 수 있습니다.
생성자 함수는 JavaScript에서 객체를 생성하고 초기화하는 데 사용되는 효과적인 방법입니다. new
키워드와 함께 사용되며, 객체의 속성과 메소드를 초기화하는 데 this
키워드를 사용합니다. 이를 통해 동일한 속성을 가진 여러 객체를 손쉽게 생성할 수 있으며, 코드의 재사용성을 높일 수 있습니다.
하지만 생성자 함수만이 JavaScript에서 객체를 생성하는 유일한 방법은 아닙니다. Object.create
메소드, 클래스, 리터럴 방식 등도 있으니, 각 방식의 장단점을 이해하고 상황에 맞게 선택하는 것이 중요합니다.
오늘의 포스트에서는 JavaScript 생성자 함수[공식문서]에 대해 알아보았습니다. JavaScript의 다양한 객체 생성 방법 중 하나를 배우셨기를 바랍니다. 다음 번에는 다른 객체 생성 방법에 대해 더 자세히 알아보겠습니다[블로그]. 끝까지 읽어주셔서 감사합니다.