@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
кодир
Без скобок это будет считаться как "блок из нескольких действий"
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы