なぜ ES6 は、構造化されていない代入に対して左側の代入がより理にかなっており、より有用であると判断したのですか? 一見しただけでは、状況に応じて両側で割り当てが発生する可能性があるため、コードがエラーを起こしやすくなっているように見えます。
let obj = { first: 'Jane', last: 'Doe' };
let { first: f, last: l } = obj;
// f = 'Jane'
// l = 'Doe'
f と l はどちらも左側で定義されているように見えます。左側の var 名と右側のそれらの var の値を組み合わせた値を使用しています。
この構文の論理的根拠がオブジェクト宣言構文と同じに保つことであるとすれば、ECMA が代わりに使用しなかった理由は次のとおりです。
let { f: first, l: last } = obj;