📝 이전 게시글에서 언급한 constructor를 만드는 ES6 신문법 class에 대해서 다뤄보겠습니다!
: constructor를 만드는 신문법
// 기존 constructor 만드는 방법
function Parent(){
this.name = 'Kim';
this.sayHi = function(){
console.log('hello');
}
}
var child = new Parent();
// ES6 class를 이용해 constructor 만드는 방법
class Parent{
constructor(){
this.name = 'Kim';
this.sayHi = function(){
console.log('hello');
}
}
}
var child = new Parent(); // 상속 방식은 같다.
class 부모{
constructor(){
this.name = 'Kim';
this.sayHi = function(){ // 1번 방법
console.log('hello');
}
}
}
var 자식 = new 부모();
class 부모{
constructor(){
this.name = 'Kim';
}
sayHi(){ // 2번 방법
console.log('hello')
}
}
var 자식 = new 부모();
1번 방법: constructor 안에 추가하기
2번 방법: 아래에 추가하기
자식.__proto__; // 1번
Object.getPrototypeOf(자식); // 2번
: extends
를 통해 부모의 속성을 그대로 상속받을 수 있다.
class 할아버지 {
constructor(name){
this.성 = 'Kim';
this.이름 = name;
}
}
class 아버지 extends 할아버지 {
constructor(name){
super(name);
this.나이 = 50;
}
}
👆 extends
만 쓰면 되는 것이 아니라, super()
도 함께 써야 된다.
extends
해서 만든 class는 this를 그냥 못 쓰고, super()
다음에 써야 함!
여기서 super()
는
this.성 = 'Kim';
this.이름 = name;
를 의미한다고 볼 수 있다.
: 코딩애플 강의