ECMAScript 2015 정식 발표


ECMAScript 2015 Has Been Approved

원문
Abel Avram, https://www.infoq.com/news/2015/06/ecmascript-2015-es6



ECMA 국제 표준 기구는 ECMA 262 6th 에디션의 승인을 발표했다.
ECMA 262 6th 에디션은 ECMAScript 6의 언어 스펙 명세이자, ECMAScript 2015로 알려져 있다.


자바스크립트는 1995년 Brendan Eich에 의해 10일만에 만들어졌다.
하지만 이 언어가 인기있는 모던 언어의 기능들을 갖추기 위해 20년이라는 시간이 필요했다.
자바스크립트의 시작은 좋지 않았지만, "브라우저를 위한 언어"로는 매우 좋은 생각이었다.

자바스크립트는 1997년 ECMA 에서 나온 version 1.0,
이어서 1998년에 아주 작은 변화들이 있었던 2.0,
그리고 1999년에 새로운 기능들을 들고나온 3.0 등
다음해의 표준화를 위한 제출이 될때마다 즉각적인 관심의 대상이 되었다.

자바스크립트라는 언어는 후에 몇년간 방치된다.
그리고 Ajax의 도입이 새로운 국면을 가지고 온다.
Ajax는 브라우저에서 클라이언트 어플리케이션을 구축하는데 아주 합리적이고 좋은 해결책이었다.

그렇게 자바스크립트를 발전시키기 위한 작업은 다시 시작된다.
하지만 투입된 조직들은 2008년 TC39가 출범하기 전까지 기존에 정해진 대로 따르는 것을 거부했다.

TC39는 첫번째 작은 이터레이션을 갖기위한 합의 및 결정을 위해 출범하게 되었으며,
그로인해 2009년 드디어 ECMAScrpit 5(ES5)가 빛을 보게 된다.
그리고 보다 더 커진 것이 바로 승인된 ES6였다.

자바스크립트 최신 버전의 정식명칭은 ECMAScript 2015였고,
ECMA는 더 자주 더 작은 단위로 새로운 버전들을 출시 하기로 하였다.
그리고 다음으론 다음해에 ECMAScript 2016 이라 불리고 있는 새 버전의 출시를 계획하고 있다.
향후, 새로운 버전들의 이름은 "ECMAScript + 출시연도"를 포함하게 될 것이다.

ES6는 ES5를 대폭 개선했다.
언어의 스펙이 ES5.1의 245페이지에 비교하면, ES6는 거의 600페이지에 다다르며,
매우 자주 사용되는 modules나 classes
그리고 매우 유용한 Maps, Sets, Promises 또는 Generators 그리고 다른 많은 기능들을 대거 추가하였다.

대규모 출시를 했음에도, ES6는 이전 버전과 완전히 호환된다.
표준화 위원회는 언어의 비호환 버전(non compatible versions of the language)에 의한 "웹의 붕괴"를 피하기로 결정하였고,
결과적으로 이전에 조재했던 모든 코드도 유지되며, 자연스럽게 변화되었다.
그러나 이는 다르게 말하면, 여전히 개발자들을 수년간 불편하게 하는 이슈들이 남아있게 됨을 뜻한다.

현재, 자바스크립트의 에이전트중 어느것도 완변하게 ES6를 지원하지 않기 때문에
언어의 최신기능의 사용이 간절한 개발자들은 ES5로 코드를 변환해야 할 것이다.
그리고 메이저 브라우저들이 ES6 기능을 구현하는 것을 보기까지는 시간이 걸릴 것이다.
어쩌면 1년이상 걸릴지도 모른다.

ES6의 지원 에이전트들을 간결하게 디테일하게 정리해놓은 부분을 한눈에 확인하기 위해선,
kangax에 의해 관리되는 ECMAScript 호환표를 추천한다.


ECMAScript 2016의 작업이 시작되었다.
이미 제출된 몇개의 제안들이 있는데, 다음과 같은 것들이 있다.

  • 비동기 함수 (async functions)
  • 정형 객체 (typed objects)
  • 병렬 자바스크립트 (parallel JavaScript)
  • 클래스 데코레이션 (class decorators)
  • 옵저버 (observables)

이런 기능들이 위원회에 의해 활발히 고려되고 있지만, 우리는 그것들의 미래를 예측할 수가 없다.
어떤것은 다음 스펙에 포함될 수도 있고, 또 다른 어떤것은 미뤄질 수도 있고, 어떤것은 채택되지 않을 수도 있다.
TC39 Process는 이러한 기능들이 채택되고 포함될 때까지 그 변환단계를 상세하게 설명한다.

자바스크립트의 진화의 속도는 처음엔 굉장히 느렸지만, 최근 가속화 되었다.
자바스크립트는 현재 여기에 머물러 있다.
그리고 희망하건데,
표준화 기관은 자바스크립트를 사용하는 수많은 개발자들이 편하게 사용할수 있는 방향으로 이끌어 가기를 바란다.


좀더 자세히 알고 싶다면, 다음을 추천한다.
Exploring ES6: Book Introduction and Author Interview
ES6의 모든 새로운 기능에 대한 심층적 인터뷰를 제공한다.



이제인, FE Development Lab2015.06.30Back to list