SyntaxError: недопустимая цель назначения деструктурирования или ReferenceError: недопустимое назначение левой стороны? - PullRequest
0 голосов
/ 02 марта 2019

У меня есть такой пример кода:

var a = 10;
({a}) = 0;

В Google Chrome он показывает ошибку: SyntaxError: Invalid destructuring assignment target

В Firefox он показывает ошибку: ReferenceError: invalid assignment left-hand side

Собственно, я бы хотел понять, что это за ошибка?

1 Ответ

0 голосов
/ 03 марта 2019

Ну, это просто неверный синтаксис.Вам не разрешено ставить образец деструктурирования в скобках [1] :

Это ранняя ошибка ссылки [2] если LeftHandSideExpression не является ни ObjectLiteral , ни ArrayLiteral и IsValidSimpleAssignmentTarget из LeftHandSideExpression равно false.

({a}) LeftHandSideExpression является ParenthesizedExpression , а не ObjectLiteral , и скобки не содержат простой цели назначения.

Возможно, вы ищете оператор в скобках, чтобы разрешить шаблон деструктурирования :

var a = 10;
({a} = 0);

1: Удивительно, но (a) = 0; является действительнымутверждение хотя.
2: кажется, что Chrome не прав, бросая SyntaxError затем

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...