Upload
teppei-sato
View
1.963
Download
7
Embed Size (px)
Citation preview
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!