JS ES6 이전 이후 class 비교

껌뻑이·2021년 7월 22일
0

JavaScript

목록 보기
1/3
post-thumbnail

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();

// 결과

멍멍이라는 개가 멍멍이라고 하네요

0개의 댓글