ObjectからObject?への分割代入
var {0:a, 3:b} = [10,20,30,40,50]; alert(a);// 10 alert(b);// 30 (40の間違いっぽい)
varの宣言がえらく気持ち悪いけど、こんなことできるんだなぁとびっくり(@@)
実用的な利用シーンとしては、id:os0xさんが書かれていたプロパティの値を変数にコピーするとか
document.addEventListener('click',function(evt){ var {pageX:x,pageY:y} = evt; console.log(x,y); },false);
複数オブジェクトを戻り値として返す関数の結果を受け取るときとかに使えそうです。
function hoge(){ return {fuga:"fugaVal", foo:["fooVal1","fooVal2"]}; } var {fuga:x, foo:y} = hoge(); alert(x); // fugaVal alert(y); // fooVal1,fooVal2
JavaScriptはやっぱ面白いなぁ〜