class Vehicle{
constructor(){
console.log('initialize Vehicle');
}
run(){
console.log('run!');
}
stop(){
console.log('stop!');
}
}
console.log(new Vehicle());
클래스를 선언하기 위해서는 클래스의 이름과 함께 class 키워드를 사용. 클래스를 정의하던 방식이 생성자 함수를 사용하는 방식에서 class 문법을 사용하는 방식으로 변경되었을 뿐 프로토타입의 기본적인 동적 원리는 큰 차이가 없다.
class Vehicle{
constructor(){
console.log('initialize Vehicle');
}
run(){
console.log('run!');
}
stop(){
console.log('stop!');
}
}
class Car extends Vehicle{
constructor(type){
super();
this.type=type;
}
}
console.log(new Car('SUV'));
extends 키워드 뒤에 상속받을 부모 클래스만 정의한 후, constructor() 생성자 메서드에서 super()를 호출. extends 키워드로 특정 클래스를 상속받는 경우에는 constructor() 생성자 메서드에서 반드시 this를 사용하기 전에 super()를 먼저 호출해야 한다.