Por que o ECMASCRIPT 6 inverteu os lados para atribuição durante a desestruturação? [fechadas]

Por que o ES6 decidiu que a tarefa do lado esquerdo fazia mais sentido ou era mais útil para tarefas desestruturadas? Apenas à primeira vista, parece tornar o código mais propenso a erros, agora que a atribuição pode ocorrer nos dois lados, dependendo da situação.

let obj = { first: 'Jane', last: 'Doe' };
let { first: f, last: l } = obj;
// f = 'Jane'
// l = 'Doe'

f e l aparentemente estão sendo definidos à esquerda, usando valores de uma combinação dos nomes de var à esquerda e valores desses vars da direita.

Como a lógica dessa sintaxe é a mesma que a sintaxe da declaração de objeto, por que o ECMA não teria usado:

let { f: first, l: last } = obj;

questionAnswers(1)

yourAnswerToTheQuestion