ES6: 시작하기

발생일: 2015.05.10

키워드: EcmaScript 6, ES6 Transpiler, 6to5, Experimental JavaScript, Babel, Traceur

내용:

ES6의 표준화 작업이 2015년 6월 경 마무리될 예정이라고 한다.
아직 표준화가 완료되지 않았지만, V8과 SpiderMonkey 등의 자바스크립트 엔진에서 이미 많은 부분을 구현하고 있다.

초기에는 node.js 나 io.js 에 ES6를 위한 컴파일 옵션이 존재했지만, 현재는 옵션 없이도 제공하는 기능들이 많다.

2015년 5월 현재 브라우저에서는 Firefox(Gecko)에서의 구현이 가장 빠른 것 같다.
크롬에서도 여러 기능을 제공하고 있으며, Expreimental JavaScript 옵션을 켜면 더 많은 기능을 확인해볼 수 있다.

옵션은 chrome://flags 페이지에서 Enable Experimental JavaScript 항목의 버튼으로 켤 수 있다.


옵션을 켜더라도 특정 기능은 Strict Mode 에서만 실행되는 경우가 있다.

  Uncaught SyntaxError: Block-scoped declarations (let, const, function, class) not yet supported outside strict mode.

이런 경우를 만났다면, `'use strict';` 구문으로 스트릭트 모드를 변경한 후에 실행하면 된다.

각 환경에서의 ES6 호환성에 대한 자세한 정보는, ES6 호환성 테이블을 참조하자.


최근에는 트래스파일러(Transpiler, 또는 트랜스 컴파일러)가 유행이다.
ES6 포맷으로 코드를 작성하고, 컴파일을 통해 ES5 호환 가능한 코드로 변경해주는 방식이다.

가장 활발하게 사용되고 있는 트랜스파일러로는 Babel, Traceur 등이 있다.
커맨드라인에서 변경하기도 하지만, 주로 GulpGrunt 등의 빌드 도구로 컴파일한다.


나도 지금까지는 주로 CoffeeScript를 사용해왔는데, 이제 ES6로 넘어가볼까 한다. 

ES6 개발 관련 툴에 대한 정보는 아래 포스트를 참고해보자.




카테고리

분류 전체보기 (711)
About me. (6)
Daylogs (676)
영어공부 (0)
My works - 추억 (29)
비공개 (0)