오늘날 프론트엔드 개발 환경은 급격히 진화하고 있고, 모던 브라우저들은 이미 충분히 많은 DOM/BOM API들을 구현했습니다. 우리는 jQuery를 DOM 처리나 이벤트를 위해 처음부터 배울 필요가 없습니다. React, Angular, Vue같은 프론트엔드 라이브러리들이 주도권을 차지하는 동안 DOM을 바로 처리하는 것은 안티패턴이 되었고, jQuery의 중요성은 줄어들었습니다. 이 프로젝트는 대부분의 jQuery 메소드의 대안을 IE 10+ 이상을 지원하는 네이티브 구현으로 소개합니다.
요즘 JavaScript 관련 프로젝트를 보면 ECMAScript 2015로 대부분 작성하는 것을 볼 수 있고 이 코드는 상당히 깔끔해 져서 얼핏 보면 JavaScript 코드인지 인식 못 할 정도이다. 현재 보통 사용하는 JavaScript는 ECMAScript에 기반을 두고 있는데 정확히는 ECMAScript-262 3번째 에디션을 쓰고 있다. 이런 과거에 대해서는 이전에 쓴 JavaScript.next에 대해서에 자세히 정리되어 있다.
이후 ECMAScript 5를 지나서 ECMAScript 6 에디션(ES6)로 접어들었고 이때부터는 버전 번호를 릴리즈 연도를 사용하기로 해서 ES2015라고 부르므로 ES6와 ES2015는 같다.(참고로 ES7은 ES2016이 될 것이다.) ES2015에서는 언어적으로 큰 변화가 이뤄졌으므로 많은 JavaScript가 ES2015기반으로 갈아타는 상황이다. ES2015에 대한 지원상태는 ES6 호환성 표에 잘 나와 있다.
얼마 전에 Babel로 ECMAScript 2015 사용하기라는 글을 올렸는데 ES2015를 사용하기 위한 간단한 Babel 설정을 살펴봤다. 실제 프로젝트에서 Babel로 ES2015로 작성한 코드를 계속해서 트랜스파일 하려면 자동화된 환경이 필요하다. 여기서는 gulp를 사용한다.
Use next generation JavaScript, today, with Babel
Issues with the output should be reported on the Babel issue tracker.