by shigemk2

当面は技術的なことしか書かない

Closure Compiler 版 es6-table #es6_casual

  • compile JS to better JS
  • 超圧縮と最適化
  • JSDocベースの静的型づけ

Google製品にはだいたい入っているので毎日使っているよ

JSDocベースの静的型づけ

  • 冗長but既存JSとの親和性(コンパイルいらない)
  • JSの進化に追随
  • コンパイルしない
  • どうせJSDoc書くだろ?

Githubに移行

対応

  • ES6
  • 型推論
  • RefasterJS(自動リファクタ)
  • Conformance(規約チェック)

compile ES6 to ES3

http://kangax.github.io/compat-table/es6/

対応チェックの自動化

Traceurを使わない理由

  • コメント残せない
  • パフォーマンス
  • 二重コンパイルしちゃう

微妙なところ

  • 自前実装の基準が不明
  • ランタイムがでかい
  • コンパイル不要部分はes6shimに任せたら?

AltJS

  • オレオレSyntax
  • うち有用なものをESにとりこむ
  • 型システム系のひとたちの不満解消
  • 学習コスト
  • AltJSとプロダクトはどちらが長生きするのか

ECMA準拠の強み

  • Closure Compilerは基本文法はJSそのまま
  • 独自syntaxのAltJSではそうはいかない

ES6時代のAltJS

  • 欲張らないES6ベース+独自色
  • でもビッグネームが型付きJSを始めたのは偶然ではない
  • ECMAScript Typesが提案に上がっている