새소식

WEB/JavaScript

[JavaScript] 생성자(Constructor)에 관한 개념

  • -
생성자 (Constructor)
function Info(name, age, birth) {
  this.name = name;
  this.age = age;
  this.birth = birth;
}
let prototype = {
  type: "human",
};
Info.prototype = prototype;

const james = new Info("james", 25, 11);
console.log(james); // Info {name: "james", age: 25, birth: 11}

생성자는 함수이다. 다만, 구분을 위해 함수명 첫글자를 대문자로 약속한다.

생성자 함수는 this가 사용되며 "new 함수명" 으로 사용한다. Factory 형식과 유사하며 console에서 함수명이 결과 값 앞에 붙는 것이 특징이다.

 

const james = Info("james", 25, 11);
console.log(james); // undefined

new를 입력하지 않으면 Info는 일반적인 함수로 작용하여 return값으로 undefined를 남긴다.

 

this는 기본적으로 window이며, 엄격모드("use strict")에서는 this가 undefined 된다.

엄격모드를 사용 중일때 위와 같이 생성자 함수를 호출하는데 new를 사용하지 않는다면 error를 남길 것이다.

 

객체 지향 프로그래밍을 우선적으로 한다면 생성자 함수를 활용한 코딩을, 그것이 아니라면 Factory 형식을 주로 활용한다.

 

 

Contents

포스팅 주소를 복사했습니다

이 글이 도움이 되었다면 공감 부탁드립니다.