@Novichek0342
Я ярик

Зачем нужны скобки в данном случае?

Наткнулся на пример деструктуризации и не до конца понимаю одну вещь:
({a, b, c} = {a:1, b:2, c:3 })
console.log(`a = ${a}; b = ${b}; c = ${c}.`)

({a, b, c} = {a:1, b:2, c:3 }) - данное выражение оборачивается в скобки, если их убрать, то выдается ошибка. Почему так происходит? Что именно делают скобки в данном случае ? Не знаю как правильно вопрос поставить в гугл (((
  • Вопрос задан
  • 264 просмотра
Решения вопроса 3
firedragon
@firedragon
Не джун-мидл-сеньор, а трус-балбес-бывалый.
({a, b, c} = {a:1, b:2, c:3 }) // вези меня браузер! Ну если внутри ничего нет то попытаемся


let {a, b, c} = {a:1, b:2, c:3 } // слева переменная, справа значения которые в нее нужно положить. Да Повелитель!
Ответ написан
SagePtr
@SagePtr
Еда - это святое
Потому что в javascript фигурные скобки можно использовать не только для объявления объекта, но и для объединения инструкций в блок. Парсер в этом случае не понимает, что {a, b, c} это именно деструктуризация объекта, а не блок из трёх инструкций a, b и c, потому их заворачивают в скобки, чтобы устранить неоднозначную трактовку.
Ответ написан
Комментировать
Alexandroppolus
@Alexandroppolus
кодир
Без скобок это будет считаться как "блок из нескольких действий"
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы