Вебсправочник
Справочник JavaScript

Деструктуризация: извлечение полей

Как присваивать свойства объекта и элементы массива понятным локальным именам.

Основная идея

Деструктуризация извлекает значения по структуре объекта или массива. Она сокращает повторение обращений к одному источнику, но должна оставаться читаемой. Для объектов важны имена свойств, для массива — позиции.

Можно переименовать поле и задать запасное значение. Запасное значение применяется при undefined, но не при null. Глубокая деструктуризация без проверки промежуточных объектов может завершиться ошибкой, если ожидаемая структура отсутствует.

Пример JavaScript

const article = { title: "CSS", minutes: 5 };
const { title: heading, minutes = 3 } = article;
const [first, second] = ["HTML", "CSS"];
console.log(heading, minutes, first, second);

Локальная переменная heading получает title, а minutes остаётся 5, потому что значение было определено.

Частая ошибка

Не извлекайте вложенные поля из непроверенного ответа API одним длинным выражением. Сначала убедитесь, что нужный объект существует и имеет ожидаемый вид.

Самостоятельная проверка

Удалите minutes и сравните результат. Затем присвойте ему null, чтобы увидеть отличие от отсутствующего поля.

Код здесь показан для изучения. Встроенная песочница сайта выполняет только HTML/CSS. JavaScript проверяйте в собственном учебном файле или консоли своего тестового проекта; не вставляйте непонятный код на страницах с личными данными.

Следующие темы: объекты, запасные значения.

Самостоятельный учебный материал. Техническая документация: первоисточник по теме ↗. Если результат отличается, проверьте код и версию браузера.