«Разрушение» не означает «разрушительное».

До сих пор помню, когда я впервые увидел код что-то вроде этого ..

let [color, day] = ['red', 'sunday']

Я был похож на то, как мы объявляем само имя массива как массив с квадратными скобками, которые тоже используют «let». Я знаю, как это подходит новичкам 😅😛.

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

Посмотрим, как это работает.

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

В массивах, если нам нужно хранить его значения в переменных, мы обычно предпочитаем этот способ ⬇️

Итак, как деструктуризация нам поможет, давайте посмотрим.

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

Это называется «деструктурирующим присваиванием», потому что оно «деструктурирует» путем копирования элементов в переменные. Но сам массив не изменяется.

Что, если нам не нужны все ценности?

Да, совершенно нормально оставить тот, который нам не нужен, просто оставьте пробел после и перед запятой.

Можно ли установить значения по умолчанию для некоторых переменных?

Почему нет?

Да, совершенно нормально давать переменным значения по умолчанию, если в массиве им нет соответствующих значений.

Если в массиве будет значение, тогда значение по умолчанию будет перезаписано.

Объекты

Как мы видим выше, чтобы скопировать значения переменных из объекта, мы обычно пишем так.

Давайте посмотрим, как деструктуризация помогает в объектах.

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

  • ** Важно, чтобы имя переменной совпадало с именем свойства.

Даже в объектах мы можем использовать значения по умолчанию так же, как массивы.

Можно извлекать данные из вложенных массивов / объектов, для этого левая сторона должна иметь ту же структуру, что и правая.

Надеюсь, это помогло лучше понять деструктуризацию.