Какой результат дает следующий фрагмент кода? `const [a, , b] = [1, 2, 3]; console.log(a, b);`
const [a, , b] = [1, 2, 3]; 
console.log(a, b);

Разбор функционала деструктурирования в JavaScript

Деструктурирующее присваивание - это упрощенный способ выбрать определенные элементы из массивов или свойства из объектов и присвоить их переменным.

В данном фрагменте кода const [a, , b] = [1, 2, 3]; console.log(a, b); мы видим применение этого функционала для массива. const [a, , b] = [1, 2, 3]; присваивает первой переменной (a) первое значение из массива (1), пропускает второе значение (2), и присваивает следующей переменной (b) следующее значение (3).

При запуске этого кода в консоли, мы получим результат 1, 3, что является правильным ответом на представленный вопрос.

Пример использования деструктурирования - это, к примеру, возможность быстро менять значения переменных местами. Стоит отметить, что при деструктурировании исходный массив или объект не изменяются.

let a = 1;
let b = 2;
[a, b] = [b, a];
//теперь a = 2, b = 1 - значения переменных заменились местами!

В знакомстве с этой возможностью JavaScript важно помнить про особенности её использования. Если мы попытаемся деструктурировать в переменную значение, которого нет (для массивов - значение за пределами длины массива, для объектов - несуществующее свойство), мы получим в эту переменную значение undefined.

const [a, b] = [1];
console.log(a, b);
//в консоли выведется: 1, undefined

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

Related Questions

Считаете ли это полезным?