ES6+カジュアルトークに行ってきた
ES6+カジュアルトークに行ってきた。全体的に、知らないことが多かったので知ることができて良かったし、どの処理系でいつくらいから使えるのか、というのもいくらか知ることができて良かった。
イベント
スライド
- http://phi-jp.github.io/runstant/release/alpha/
- https://speakerdeck.com/yosuke_furukawa/node-dot-js-v0-dot-12deshi-eruyouninarues6-plus-falseji-neng-lan
- http://www.slideshare.net/TanUkkii/ecma-script6-40864841
- http://www.slideshare.net/teppeis/es6-closurecompileraltjs
- http://azu.github.io/slide/es6talks/
runstantは存在を知ってはいたのだけど使ったことなくて、でも見ていたら便利そうだった。 arrow functionで書いた場合は最後に評価された値が戻り値になるらしくて、Rubyみたいだなあと思った。その書き方の方が都合の良い場合もあるので、そういう場合には使うとタイプ数も減って良いのかな。
node.js ver.0.12で使えるようになるES6の機能が知れてよかった。すでに0.12っていうブランチがあって、ビルドできるらしい。ver.0.11でPromise使ったくらいしかなくて、他に何があるのか知らなかった。
- Symbol
- Map/Set
- for-of
- generator
- iterator(Symbol.iterator)
- Promise
- Object.observe
だったかな。generatorはfor-ofに対して渡しても動作するよ、というものでgeneratorはデフォルトではまだ使えない。
ES6による関数型プログラミングは全体的に説明がわかりやすかった。こんなに理解しやすいパラダイムに関する説明初めてかも、と思ったくらい。 あとProxyを知れてよかった。黒魔術的な感じがしなくはなかったけど。Cookieのモックとか作るのに良いのかなとちょっと思った。それは今でもできるか。 あと末尾再帰最適化されるようになるらしいというのは収穫だった。実装を確認できた実装はないらしいけど……
Closure Compilerまた使ってみようかなと思った。
Webが一部壊れたりしたお話、とても面白かった。@@unscopable
に入っている名前のものはwith文で特別に無視される、というのを知れた。with文使うなという話ではなるけども。
後々追加されそうなメソッドを自身で先行実装する場合は、ちゃんとhasOwnProperty
とかで確認しよう、という知見も得られた。ショートハンドでオブジェクトが持ってるか持ってないかで判断すると、未来で困る場合があるというのがわかった。
普段からそうだけど、今回は特に学びが多かった。
ES6を大手を振って使えるように早くなって欲しい。でもそれまでに徐々に使ってなじまないと、いざという時に使えないと思うので今からちょこちょこ使って行きたいなあ。
最近、ちょっとRubyに惹かれ気味でJavaScriptから少し離れようかなあとも思ってたんだけど、今回のイベントでやっぱりJavaScriptいいなあと思い直した感じ。 別の言語も勉強し始めようかなと思うので、Rubyも勉強すると思うのだけど、JavaScriptもちゃんと追えるようにしつつ進めて行きたい。