더북(TheBook)

노트 ES6의 클래스 문법

ES6 이전에는 자바스크립트에 클래스(class)가 없었습니다. 개념 자체는 있었지만, 그것을 구현하려면 class 대신에 prototype이라는 문법을 사용하여 다음과 같이 작업해야 했습니다.

function Dog(name) {
  this.name = name;
}
 
Dog.prototype.say = function() {
  console.log(this.name + ': 멍멍');
}
var dog = new Dog('검둥이');
dog.say(); // 검둥이: 멍멍

 

ES6 문법부터는 이것과 기능이 똑같은 코드를 class를 사용하여 다음과 같이 작성할 수 있습니다.

class Dog {
  constructor(name) {
     this.name = name;
  }
  say() {
     console.log(this.name + ': 멍멍');
  }
}
 
const dog = new Dog('흰둥이');
dog.say(); // 흰둥이: 멍멍
신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.