Javascript

Class (+constructor 생성자함수)

becky(지은) 2023. 3. 11. 21:54

Class는 뭐다?

constructor 메소드를 사용해 보다 쉽게 객체를 만드는 공장!
prototype 기반의 객체를 만드는 공장이 있고,  (보기쉬움) class 기반의  객체를 만드는 공장이 있다.

 

// 생성된 객체를 어떻게 초기화?
// 먼저 실행되도록 만들어진 constructor 함수를 class 내에서 구현
class Person {
   constructor(name, first, second){
    this.name =name;
    this.first=first;
    this.second=second;
   }
   sum=()=>{
    return 'class : '+(this.first+this.second);
}
}

let kim = new Person('kim',10,20);
kim.sum = function(){
    return 'this : '+(this.first+this.second);
}

let lee = new Person('lee',10,10);
console.log("lee.sum()",lee.sum());// 만약 자신(lee)이 sum이라는 객체를 가지지 않는다면,class의 constructor메소드를 따라간다,끝
console.log("kim.sum()",kim.sum());// 먼저 자신(kim)이 sum이라는 객체를 가졌는지를 찾는다, 끝
// lee.sum() class : 20
// kim.sum() this : 30