객체생성자함수

lee jae hwan·2022년 7월 22일

javascript

목록 보기
10/107

객체생성을위한 함수를 생성자함수라 한다.

자바스크립트에는 일반함수와 생성자함수의 기술적차이가 없다.
따라서 아래와 같은 2가지 관례에따르면 생성자함수라 부른다.
1. 함수명 첫글자를 대문자로 한다.
2. this지시자를 사용하여 객체프로퍼티를 설정한다.

new지시자 역활 : new지시사로 함수가 호출되면 빈객체를 생성하고 this는 생성객체에 바인딩되어 프로퍼티가 추가된후 생성객체를 반환한다.

function User(name:string) {
  this.name = name;
  this.sayHi = function () {
     console.log(this.name);
  };
}

생성자함수내에 프로퍼티를 선언하면 생성된 객체들마다 프로퍼티를 가지는것은 객체크기가 증가하기 때문에 바람직하지 않다.

function User(name:string) {
  this.name = name;
}
User.sayHi = function () {
   console.log(this.name);
};

자바스크립트에서 User는 함수이고 함수는 객체이기때문에 위와 같이 User함수에 프로퍼티를 정의할 수 있다.

생성자함수내에 정의된 프로퍼티만 생성되는 객체프로퍼티로 추가된다.

0개의 댓글