템플릿 리터럴 (Template Literals)
하지만 ES6에서는 템플릿 리터럴을 제공하므로 "`" (back-ticked) 문자열 안에 ${NAME}라는 새로운 구문을 사용해서 아래와 같이 간단히 처리할 수 있다.
멀티 라인 문자열 (Multi-line Strings)
하지만 ES6에서는 "`" (back-ticked) 문자열을 이용해서 간단히 처리할 수 있다.
비구조화 할당 (Destructuring Assignment)
하지만 ES6에서는 비구조화 할당을 사용해 처리할 수 있다.
향상된 객체 리터럴 (Enhanced Object Literals)
proto 속성을 사용해서 바로 프로토타입을 설정할 수 있다.
getAccounts: getAccounts, 대신 getAccounts, 를 사용할 수 있다 (변수명으로 속성 이름을 지정).
[ 'valueOf' + getAccounts().join('') ] 와 같이 동적으로 속성 이름을 정의할 수 있다.
화살표 함수 (Arrow Functions)
ES6에서는 화살표 함수를 사용하면 _this 를 사용할 필요가 없다.
Promises
블록 범위 생성자 Let 및 Const (Block-Scoped Constructs Let and Const)
const는 상수를 선언하는 것으로 여러번 선언될 수 없지만 let과 같이 블록 내부로 유효 범위가 한정되므로 아래의 예시는 오류가 발생하지 않는다.
클래스 (Classes)
constructor 는 class 내부에 하나만 존재할 수 있으며 메소드 정의에 function 또는 콜론(":")이 더이상 필요하지 않다. 단, property의 경우 메소드와 달리 생성자에서 값을 할당해야 한다.
모듈 (Modules)