티스토리 뷰

Tech

ECMAScript

그랩그랩 2018. 11. 6. 17:01


1. 정의


  ECMAScript는 자바스크립트의 토대를 구성하는 스크립트 언어이다. ECMA International 표준화 기구에 의해 ECAM-262 스펙에서 표준화되었다. 


2. 역사


  ECMAScript는 1997년 6월 1판이 나온 이래로, 6판부터 공식적으로 ECMAScript 2015라고 불리게 되었으며, 이후 부터 매년 6월에 새로운 판을 확정 짓고 있다. 2018년 6월에 완성된 9번째 판인 ECMAScript 2018이 최신 판이고, ECMA 2019가 작업중에 있다.


  또, ECMA는 많은 이해 관계자가 참석하는 위원회이다. 이러한 이유 때문에, 많은 갈등이 생기곤하는데, 특히 ES4 작성 당시 이러한 갈등 때문에 ES4를 개발하는 그룹과 ES3.1를 작성하는 그룹으로 나뉘게 된다. 이후 ES3.1을 개발하던 그룹이 갈등에서 '이겼기(won)' 때문에 ES3.1은 ES5가 되고, ES4는 버려지게(Abandoned)된다.


  하지만, 이후 ES2015에서 ES4의 많은 부분을 통합하는 작업을 수행하게 되어 ES5와 ES4를 통합하게 되었기 때문에 ES6는 'Harmony'라는 이름을 코드네임을 가지게 된다.


3. ES6? ES2015?


  이전에는 ECMAScript를 줄인 말인 ES의 뒤에 판수를 붙혀 불렀다. ES6도 마찬가지였는데, 중간에 이름이 ECMAScript 6th Edition에서 ECMAScript 2015로 공식적으로 이름이 바뀌면서 ES2015라는 이름이 공식적으로 사용되게 된다. 때문에 ES6와 ES2015는 동일한 표준을 뜻하는 말이며, ES2015 이후에 나온 표준들을 ES2016, 2017로 부르는 이유이기도하다.


4. ES Next?


  ES Next는 현재 작업 중에 있는 표준을 뜻한다. 2018년 11월 현재 기준으로 했을 때, 작업 중인 표준은 ES 2019이기 때문에 ES Next는 ES2019를 뜻한다. ES Next에 있는 내용들은 아직 표준으로 확정되지 않은 것들도 포함하고 있으므로, 만약에 ES Next를 이용해 개발을 한다면, 브라우저에서 지원하고 있는 기능인지 확인을 해야한다.


5. Browser Compatibility


  자바스크립트를 주로 사용하는 개발자라면, 이러한 표준을 브라우저에서 얼마나 사용할 수 있는지 궁금할 것이다. http://kangax.github.io/compat-table 에서는 데스크톱 브라우저 뿐만 아니라, 모바일, Nodejs같은 런타임, Babel같은 폴리필등에서 각 버전에 포함된 기능을 얼마나 구현해놓았는지를 확인할 수 있다. 

'Tech' 카테고리의 다른 글

나는 Rxjs를 왜 쓰는가?  (0) 2017.11.01
Image Classification & CNN  (0) 2017.09.07
Angular  (0) 2017.09.07
Elasticsearch  (0) 2017.09.07
Git Flow  (0) 2017.09.07
댓글
Total
Today
Yesterday
공지사항
최근에 올라온 글
최근에 달린 댓글