생성자를 사용하면 비슷한 객체를 찍어내어 사용할 수 있다.
생성자는 붕어빵 틀과 같다. 모든 붕어빵을 만들 때는 재료가 필요하다. 붕어빵의 종류에 따라 팥을 넣을 수도 있고 피자를 넣을 수도 있다.
아래는 생성자 함수의 기본적인 코드 예시이다.
function Taiyaki(filling, shape) {
this.filling = filling;
this.shape = shape;
}
let 붕어빵 = new Taiyaki('팥', '붕어모양');
let 잉어빵 = new Taiyaki('슈크림', '잉어모양');
위 코드에서 Taiyaki은 생성자 함수이다. filling과 shape라는 속성을 가진 객체를 생성하기 위해 사용된다. new 키워드를 사용하여 Taiyaki 생성자 함수를 호출하고 객체를 생성할 수 있다. 붕어빵과 잉어빵은 Taiyaki 생성자 함수를 사용하여 생성된 객체이다.
다음은 생성자를 사용할 때 추가적인 옵션을 알아보자.
Constructor(arg1 = 'default1', arg2 = 'default2') {
this.arg1 = arg1;
this.arg2 = arg2;
}
생성자는 기본적으로 위와 같이 아규먼트의 기본값을 넣을 수 있다.
가변적인 수의 아규먼트를 받아야 하는 경우 스프레드를 사용하여 문제를 해결할 수 있다.
스프레드는 아규먼트를 배열로 변환해 주는 연산자로, 이를 사용하면 유연하게 함수를 작성할 수 있다.
function Constructor(...args) {
this.arg1 = args[0] || 'default1';
this.arg2 = args[1] || 'default2';
// 필요한 만큼 args를 처리할 수 있다.
}
// 예시 사용법
let obj = new Constructor('value1', 'value2', 'value3');
console.log(obj.arg1); // 'value1'
console.log(obj.arg2); // 'value2'