JavaScript-TIL-생성자 함수

이정후·2022년 6월 30일
0

자바스크립트

목록 보기
3/14

여기에 user의 정보를 담은 객체가 하나 있다. 그 객체의 모습은 이러할것이다.

let user = {
	name : 'Hoo',
    age : 27,
}

그런데 이런 비슷한 객체를 여러개 만들어야 하는 상황이 온다면 일일이 하드 코딩을 해야할까?

이럴때 사용 가능한 것이 생성자 함수이다.

function User(name, age) {
	this.name = name;
    this.age = age;
}

let user1 = new User('Hoo', 27);
let user2 = new User('gyu', 24);

함수의 첫 글자는 대문자로 시작하여 User이며 함수를 호출 할때에는 new 연산자를 사용한다.

user1 // {name: 'Hoo', age: 27}

동작원리는 다음과 같다.

new 함수명();

위 코드가 실행되면 빈 객체를 만들고 this에 할당한다. 그 후 this에 프로퍼티들을 추가한다. 그 후 반환한다.

this = {}
return this;

이 두개의 코드가 생략된 셈이다. 그러나 동작한다. 일일이 객체를 적는 것 보다 훨씬 빠르고 효율적으로 작성할 수 있다.(사실 너무 놀랍다..)

profile
꾸준하게

0개의 댓글