핵심: 자바스크립트에서 클래스는 프로토타입 함수 기반으로 작동한다
자바스크립트의 클래스는 객체를 만드는 템플릿이다.
class Car{
constructor(name){
this.name = name
}
// 메서드 : 프로토타입에 선언된다.
hook(){
console.log(`${this.name}이 경적을 울립니다.`)
}
//정적 메소드: this에 접근 불가
static hello(){
console.log("저는 자동차입니다.")
}
// setter
set age(value){
this.carAge = value;
}
// getter
get age(){
return this.carAge;
}
}
const myCar = new Car('자동차');
myCar.hello();
Car.hello();
mycar.age = 32;
console.log(myCar.age,myCar.name);
메소드는 프로토타입에 선언 된다. 그래서 인스턴스에 상속된다.
자바스크립트 코드를 바벨로 변환하면 함수로 바뀐다.