js에 class나 object가 없다면, 규모있는 프로젝트를 만들기 굉장히 힘들다. 'class'에 대해 알아보고, object와의 차이를 정리해보자.
constructor
라는 생성자 함수이다. class를 통해 생성된 객체를 인스턴스라고 부르는데, class는 새로운 instance를 생성할 때마다 construcor()메소드를 호출하게 된다.class Car {
constructor(name, price) {
//fields
this.name = name;
this.price = price;
}
//methods
speak() {
console.log(`${this.name}입니다.`);
}
applyDiscount(discount) {
console.log(this.price * discount);
}
}
const ray = new Car('ray', 2000000);
const sonata = new Car('sonata', 30000000);
console.log(ray.name); //ray
console.log(ray.price); //2000000
ray.applyDiscount(0.1); //200000
ray.speak(ray); //ray입니다.
console.log(sonata.name); //sonata
console.log(sonata.price); //30000000