Closure Compiler
Updates for ES6
@teppeis
Meguro.es #2
2016/02/10
Hello!
• Teppei Sato, @teppeis
• Cybozu, Inc. / kintone
• from Nihonbashi.es
http://azu.github.io/slide/2016/jser5years/sc22-ecmascript-ahodc.html
Closure Compiler
It compiles
from JavaScript
to better JavaScript.
本当のClosure Compiler
• 圧縮&最適化
• JSDocベースの静的型チェック
• ES6 Transpiler & Polyfills
• GitHubで超アクティブに進化中

https://github.com/google/closure-compiler
Compile ES6 to ES5
java -jar compiler.jar 
--language_in ES6 
--language_out ES5 
foo.js
core-jsずるいよ!
core-js とは
• Polyfillライブラリ (ES5/6/7, DOM, 独自)
• 機能検出が細やか

native実装をなるべく使ってくれる
• ES6のPolyfillとしてはほぼ完成

単体でcompat-table 30%ぐらい稼ぐ
TypeScriptずるい
• ぜんぜん関係ないくせに

compat-tableではcore-jsでスコアを水増し
• babelはデフォルトでセットになってるから

まあしょうがない気がするけど
Closure Compilerにも
core-js を追加してみた(ローカルで)
勝った!
Conclusion
• Closure Compiler の ES6トランスパイル機能は、

TypeScript や Traceur より強い程度には

使えるレベルにあるよ。
• でもClosure Compiler、

最近ES6 polyfillを独自実装し始めたってよ。

大丈夫か。。。

https://github.com/google/closure-compiler/tree/master/test/com/google/javascript/jscomp/js/es6
Thanks!

Closure Compiler Updates for ES6