Node.jsのECMA6対応状況
v0.12でのV8の採用バージョンは3.28(ちょっと古い)
どのJSから対応していくのか
v0.12で削除されたやつ
harmony_typeof
#es6_casual typeofの歴史的経緯はこれで確認しましょう "The history of “typeof null”" http://t.co/nZ5F8a0Gpz
— azu (@azu_re) 2014, 10月 29
typeof null == 'null'になるようになるやつ(JSをdisるときの常套句 but もとから非推奨)
Brendan Eich
classのほうが価値があるし、opt-inのtypeof nullを"null"にするのは小さなアイデア
harmony_arrow_function
// before var b = [1,2,3,4,5].map(function(x){return x * x}; // after var a = [1,2,3,4,5].map(x => x * x)
v0.12でデフォルトになった機能
Symbol
名前の衝突回避に使う
// before var obj = { _name :"kaicho" } // after var _name = Symbol("_name")
#es6_casual WeakMapとSymbolでのプライベートプロパティの作り方 ここで試せる。 "Private properties in JavaScript — Curiosity driven" https://t.co/nHSjpjdOTk
— azu (@azu_re) 2014, 10月 29
Collectoins
var map = new Map() map.set('yosuke', 'JavaScript') // ループで回せる // foreachが使える
var setp = new Set() set.add("yosuke") set.add("furukawa") // foreachが使える
for-of
イテラブルなfor文
http://www.2ality.com/2012/06/for-of-ff13.html
generatorとfor-ofの組み合わせでイテラブルなやつが作れる
Promise
Object.Observe(ES7)
オブジェクトの監視
監視しているオブジェクトの何が更新されたかが分かる→更新検知
あとは非デフォルトのまま
ブロックスコープとか。
v0.12からのアレ
消えた
- harmony_typeof
追加
- Object.Observe
- Promise
- for-of
- Collectoins
- Symbol
待ち望まれているやつ
- class
- let
- generator
- String template