노트 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(); // 흰둥이: 멍멍
    신간 소식 구독하기
    뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.