Перестановка значений переменных с помощью деструктурирующего присваивания

В консоли будет 3 1. Сначала вычисляется массив справа [y, x] со старыми значениями, затем деструктуризация присваивает их переменным слева.

Короткий ответ

Что ответить на собеседовании

В консоли будет 3 1. Сначала вычисляется массив справа [y, x] со старыми значениями, затем деструктуризация присваивает их переменным слева.

Подробный разбор

Ответ с пояснениями

Условие

Определите, какой вывод появится в консоли после выполнения следующего JavaScript‑кода, использующего деструктуризацию для обмена значениями переменных.

let x = 1;
let y = 3;

[x, y] = [y, x];

console.log(x, y);

Ответ

В консоли будет 3 1. Сначала вычисляется массив справа [y, x] со старыми значениями, затем деструктуризация присваивает их переменным слева.

Правая часть становится [3, 1] до изменения любой переменной. После присваивания x получает 3, y получает 1, поэтому временная именованная переменная не нужна. Оба связывания должны разрешать присваивание, как let в примере; попытка заменить значение const привела бы к ошибке.

ИИ-помощник для собеседований

Хочешь уверенно проходить собеседования?

Попробуй ИИ-помощник для собеседований: слышит вас и собеседника, анализирует экран, подсказывает ответы в реальном времени, работает без VPN и не попадает в захват экрана.

Подробнее