JS ES6 이전 이후 class 비교
es6 이전 class
function Animal(type, name, sound) {
this.type = type;
this.name = name;
this.sound = sound;
}
Animal.prototype.info = function () {
console.log(
this.name + "라는" + this.type + "가 " + this.sound + "이라고 하네요"
);
};
const dog = new Animal("개", "멍멍이", "멍멍");
dog.info();
멍멍이라는개가 멍멍이라고 하네요
es6 이후 class
class Animal {
constructor(type, name, sound) {
this.type = type;
this.name = name;
this.sound = sound;
}
info = () => {
console.log(`${this.name}라는 ${this.type}가 ${this.sound}이라고 하네요`);
};
}
const dog = new Animal("개", "멍멍이", "멍멍");
dog.info();
멍멍이라는 개가 멍멍이라고 하네요
es6 이후 class의 상속
class Animal {
constructor(type, name, sound) {
this.type = type;
this.name = name;
this.sound = sound;
}
info = () => {
console.log(`${this.name}라는 ${this.type}가 ${this.sound}이라고 하네요`);
};
}
class Dog extends Animal {
constructor(name, sound) {
super("개", name, sound);
}
}
const dog = new Dog("멍멍이", "멍멍");
dog.info();
멍멍이라는 개가 멍멍이라고 하네요