21.04.11 TIL 생성자 함수

J·2021년 4월 11일
0

생성자 함수

다음과 같이 class를 정의했을 때,

  • ES5 ver.
function Person(name, age, gender) {
  this.name = name;
  this.age = age;
  this.gender = gender;
}

Person.prototype.sleep = function() {
	console.log(this.name + '이 잠을 잡니다.')
}
  • ES6 ver.
class Person {
  constructor(name, age, gender) {
    this.name = name;
    this.age = age;
    this.gender = gender;
  }
  
  sleep() {
    console.log(this.name + '이 잠을 잡니다.')
  }
}

우리는 Person이라는 class를 참조하는(property를 갖는) instance를 다음과 같이 만들 수 있다.

let person1 = new Person('John', 30, 'male')

이 경우 person1이라는 instance는 new라는 키워드를 통해 Person class에 접근하여 만들어진 객체이다.
이 때의 new 키워드와 같이 객체를 생성할 때 사용되는 함수를 생성자 함수라고 정의한다.

0개의 댓글