객체 생성자 함수란?
객체의 인스턴스를 생성하는 함수. new 연산자를 사용해서 빈 객체를 생성할 수 있다.
const car = new Object();
생성자 함수를 통해 생성한 객체를 '인스턴스' 라고 한다. 다음과 같이 생성한 인스턴스에 프로퍼티나 메서드를 추가할 수도 있다.
car.name = 'K5';
car.start = function () {
console.log('Starting up');
};
console.log(car.start());
JS에서는 객체 뿐만 아니라 문자열, 숫자, 불리언, 함수 등을 생성자 함수를 통해 생성할 수 있다.
생성자 함수를 사용하는 이유
객체를 생성할 때는 생성자 함수보다 객체 리터럴을 사용하는 것이 보다 편리하다. 그러나 생성자 함수는 다음과 같이 동일한 프로퍼티와 메서드를 갖는 객체를 생성할 때 유용하게 사용될 수 있다.
function Car(number){
this.number = number;
this.name = 'K5';
this.start = function () {
console.log(`${number}: Starting up`);
}
}
const car1 = new Car('서울1234');
const car2 = new Car('부산4235');
console.log(car1); // car{ number: '서울1234', name: 'K5', start: [function] }
console.log(car2); // car{ number: '부산4235', name: 'K5', start: [function] }
console.log(car1.start()); // 서울1234: Starting up
console.log(car2.start()); //부산 4235: Starting up
위의 예시에서 생성자함수Car()에서 this 는 생성자 함수가 생성할 인스턴스를 가리킨다.
*생성자 함수의 이름의 첫번째 글자는 대문자로 작성한다
참조한 사이트)
자바스크립트 객체 생성자 함수란? (tistory.com)
'바닐라코딩 사전학습 > JS' 카테고리의 다른 글
this의 4가지 역할 (0) | 2021.12.27 |
---|---|
new 예약어 (0) | 2021.12.27 |
Call by value / Call by reference (0) | 2021.12.27 |
콜스택 / 메모리힙 구조, 데이터저장 / 참조 원리 (0) | 2021.12.27 |
메모리 구조 / 변수 생성원리 / 가비지컬렉터 (0) | 2021.12.27 |