꽤 많은 부분에서의 추가사항이 있었는데, 우선 let과 const 키워드의 등장으로 좀 더 엄격하고 예측 가능한 코드를 작성할 수 있게 되었고, back tick을 사용한 템플릿 리터럴로 편의성과 가독성을 보완할 수 있었습니다. 또한 arrow function을 통해 간단히 함수를 표현하고, Promise 문법을 통해 callback hell에서 벗어나 효과적으로 비동기 처리가 가능하게 되었습니다. 그리고 프로토타입 기반의 객체 지향 언어인 자바스크립트에서 클래스 기반의 객체 지향 프로그래밍도 할 수 있도록 Class 키워드를 도입하였고, import, from, export, default 키워드를 사용한 모듈화가 도입되었습니다. 그 외에 parameter를 바로 초기화하거나 구조분해할당, String Method 등이 별도로 추가되기도 했습니다.
꼬리 질문
ES6의 여러 추가사항 중에 가장 주요한 기능(혹은 가장 많이 사용하고 있는 기능)을 하나 꼽으라면 뭐가 있을까요?
ES6 클래스와 ES5 함수 생성자의 차이점은 무엇인가요?
간단한 생성자의 경우에는 매우 유사하나, 주요 차이점은 상속을 사용할 때 발생합니다. 기존의 ES5 함수 생성자를 사용했을 때는 Object.create 등을 사용해서 상속 처리를 해줘야 하나 ES6의 클래스 문법을 통해 생성하면 간단하게 상속 처리가 가능합니다.