Ответ 1
Это Уничтожение Назначения без декларации. Здесь переменная customer
уже объявлена выше, и значение присваивается с помощью response.body.customer
Из документации:
Скобки (...) вокруг оператора присваивания требуются при использовании литерального деструктурирования объекта без объявления.
{a, b} = {a: 1, b: 2}
не является допустимым автономным синтаксисом, поскольку {a, b} в левой части считается блоком, а не литералом объекта.However,
({a, b} = {a: 1, b: 2})
is valid, as isvar {a, b} = {a: 1, b: 2}
Вашему (...) выражению должна предшествовать точка с запятой, или оно может использоваться для выполнения функции в предыдущей строке.