5 интересных способов использования деструктуризации в JavaScript
Деструктуризация — удобное средство для доступа к свойствам объектов и элементам массивов, но оно не ограничивается только этими сценариями. Дмитрий Павлютин написал статью с описанием неочивидных подходов с использованием этой фичи — "5 Interesting Uses of JavaScript Destructuring".
- С помощью деструктуризации можно обменивать значения переменных таким же образом, как это можно сделать в python:
[a, b] = [b, a];
. - Можно легко получить первый элемент массива с подстановкой дефолтного значения, если этого элемента нет:
const [firstColor = 'white'] = colors;
. - Комбинируя деструктуризацию с rest-оператором, можно отбросить первый элемент массива:
const [, ...lastNumbers] = numbers;
. - Деструктуризация работает для всех объектов, которые имплементируют протокол итерирования (строки, массивы, Map, Set). Например, таким образом можно получить первую букву в строке:
const [firstChar] = 'cheese';
. - Используя динамические свойства объектов, можно получить заранее неизвестное свойство объекта:
const { [nameProp]: name = 'Unknown' } = obj;
.
Я пересказал содержимое всей статьи, но всё равно в ней есть более развёрнутые примеры. Советую посмотреть.
https://dmitripavlutin.com/5-interesting-uses-javascript-destructuring/