by shigemk2

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

Node.js v0.12で使えるようになるES6+αの機能 #es6_casual

Node.jsのECMA6対応状況

v0.12でのV8の採用バージョンは3.28(ちょっと古い)

どのJSから対応していくのか

v0.12で削除されたやつ

harmony_typeof

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")

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