Почему разрушение объекта вызывает ошибку, если перед ним нет ключевого слова var
?разрушение объекта без var
{a, b} = {a: 1, b: 2};
бросает SyntaxError: expected expression, got '='
Следующие три примера работают без проблем
var {a, b} = {a: 1, b: 2};
var [c, d] = [1, 2];
[e, f] = [1, 2];
бонусный вопрос: Почему бы нам не нужен var
для массива деструктуризации?
я столкнулся с проблемой делать что-то вроде
function() {
var {a, b} = objectReturningFunction();
// Now a and b are local variables in the function, right?
// So why can't I assign values to them?
{a, b} = objectReturningFunction();
}
Вы должны, по крайней мере, добавить примечание о том, что вопрос неверен. – Taurus