Вопрос №55853 от пользователя Алина Фадеева в уроке «Деструктуризация», курс «JS: Объекты»

Алина Фадеева

Добрый день, подскажите, пожалуйста, что здесь происходит?

"Деструктуризация может быть вложенной. Она позволяет извлекать части объектов на любую глубину. Поэтому наш пример выше можно переписать так:

// const user = response.data.attributes; // const links = response.data.links; // const author = response.data.relationships.author;

const { links, attributes: user, relationships: { author } } = response.data;"

Что чему соответствует? И насколько типична такая ситуация в реальной разработке? Выглядит довольно путано.

3 1

Вячеслав Павлов

Алина Фадеева, здравствуйте.

Объект:

const data ={
  name: 'test',
  key: 45, 
  value: { x: 23, y: 2 },
}

Допустим мы желаем получить значение свойства x.

Первый вариант:

  • const x = data.value.x // console.log(x); 23

Второй вариант с деструктуризацией, раскладываем объект на части:

  • const { name, key, value: { x, y } } = data;
  • console.log(x); // 23
  • console.log(key); // 45
  • т.д...

p/s: Пробуйте все примеры из уроков разбирать локально на компьютере или на replit.com.

1

Алина Фадеева

А что записано в константу attributes: user из примера в теории? Не очень ясно, откуда взялся user

0

Вячеслав Павлов

user - промежуточная константа, объявили и присвоили значение из объекта response.data.attributes

const user = response.data.attributes;

console.log(user); //

{
      title: 'Ember Hamster',
      src: 'http://example.com/images/productivity.png'
    }
0

Используйте Хекслет по максимуму!

  • Задавайте вопросы по уроку
  • Проверяйте знания в квизах
  • Проходите практику прямо в браузере
  • Отслеживайте свой прогресс

Зарегистрируйтесь или войдите в свой аккаунт

Даю согласие на обработку персональных данных, соглашаюсь с «Политикой конфиденциальности» и «Условиями оказания услуг»

Рекомендуемые программы

С нуля до разработчика. Возвращаем деньги, если не удалось найти работу.

Иконка программы Фронтенд-разработчик
Профессия
Разработка фронтенд-компонентов веб-приложений
25 мая 10 месяцев
Иконка программы Python-разработчик
Профессия
Разработка веб-приложений на Django
25 мая 10 месяцев
Иконка программы PHP-разработчик
Профессия
Разработка веб-приложений на Laravel
25 мая 10 месяцев
Иконка программы Node.js-разработчик
Профессия
Разработка бэкенд-компонентов веб-приложений
25 мая 10 месяцев
Иконка программы Fullstack-разработчик
Профессия
Новый
Разработка фронтенд и бэкенд компонентов веб-приложений
25 мая 16 месяцев
Иконка программы Верстальщик
Профессия
Вёрстка с использованием последних стандартов CSS
в любое время 5 месяцев
Иконка программы Java-разработчик
Профессия
Разработка приложений на языке Java
25 мая 10 месяцев
Иконка программы Разработчик на Ruby on Rails
Профессия
Создает веб-приложения со скоростью света
25 мая 5 месяцев