본문 바로가기
바닐라코딩 사전학습/JS

객체 생성자 함수

by 꼬마보노 2021. 12. 27.

객체 생성자 함수란?

객체의 인스턴스를 생성하는 함수. 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)

 

자바스크립트 객체 생성자 함수란?

객체 생성자 함수란? 객체 생성자 함수란 객체의 인스턴스를 생성하는 함수입니다. new 연산자를 사용해 다음과 같이 빈 객체를 생성할 수 있습니다. const car = new Object(); 이처럼 생성자 함수를 통

oneroomtable.tistory.com