JavaScript의 ES란?
- ECMAScript(ES, ECMA스크립트)란, 표준 기술 규격에 의해 정의된 표준화된 스크립트 프로그래밍 언어로 JavaScript를 표준화하기 위해 만들어졌다.
- 각 브라우저 제조사는 ECMAScript 사양을 준수해서 브라우저에 내장되는 JavaScript Engine을 구현한다.
ES5/ES6 문법 차이
2015년 6월 개정된 ES6은 ES5 이하 버전에 있었던 많은 문제를 해결하고 새로운 기능이 추가되었다.
- let, const 등장 : 함수 레벨 스코프, 암묵적 재할당 등 기존 var 키워드의 문제점을 개선한 let, const가 등장했다.
- 화살표 함수 추가 : 기존 function 키워드 대신 화살표를 사용해 더 간략한 방법으로 함수를 선언하는 방법
- Rest Parameter : 매개변수 이름 앞에 ...을 붙여서 정의한 매개변수로, Rest 파라미터는 함수에 전달된 인수들의 목록을 배열로 전달받는다. 먼저 선언된 매개변수에 할당된 인수를 제외한 나머지 인수들로 구성된 배열이 할당된다. (Rest 파라미터는 반드시 마지막 파라미터여야 한다.)
- 디스트럭처링 할당 : 배열 등의 이터러블이나 객체를 구조분해하여 1개 이상의 변수에 개별적으로 할당하는 것
- 스프레드 연산자 지원 : 스프레드 문법은 하나로 뭉쳐 있는 여러 값들의 집합을 펼쳐서 개별적인 값들의 목록으로 만든다.
- class 지원 : prototype으로 상속을 구현한 기존 자바스크립트와 달리, ES6 class가 등장하며 더 간편하게 객체를 생성하고 상속을 구현할 수 있다.