«Разрушение» не означает «разрушительное».
До сих пор помню, когда я впервые увидел код что-то вроде этого ..
let [color, day] = ['red', 'sunday']
Я был похож на то, как мы объявляем само имя массива как массив с квадратными скобками, которые тоже используют «let». Я знаю, как это подходит новичкам 😅😛.
Поняв, как это работает, я подумал, что это просто синтаксический сахар, да, это действительно синтаксический сахар, но действительно помогает нам легче выразить и сохраняет наши несколько строк кода.
Посмотрим, как это работает.
Это позволяет нам извлекать свойства из объекта или элементов из массива, несколько за раз.
В массивах, если нам нужно хранить его значения в переменных, мы обычно предпочитаем этот способ ⬇️
Итак, как деструктуризация нам поможет, давайте посмотрим.
Да, это было так просто. Поскольку это массив, он хранит свои значения в соответствии с их индексом. С помощью деструктуризации очень легко сохранить его значение в переменных, не назначая его по одной переменной за раз.
Это называется «деструктурирующим присваиванием», потому что оно «деструктурирует» путем копирования элементов в переменные. Но сам массив не изменяется.
Что, если нам не нужны все ценности?
Да, совершенно нормально оставить тот, который нам не нужен, просто оставьте пробел после и перед запятой.
Можно ли установить значения по умолчанию для некоторых переменных?
Почему нет?
Да, совершенно нормально давать переменным значения по умолчанию, если в массиве им нет соответствующих значений.
Если в массиве будет значение, тогда значение по умолчанию будет перезаписано.
Объекты
Как мы видим выше, чтобы скопировать значения переменных из объекта, мы обычно пишем так.
Давайте посмотрим, как деструктуризация помогает в объектах.
Да, это так просто, мы можем сделать это в одну строку, не присваивая значения переменным одно за другим.
- ** Важно, чтобы имя переменной совпадало с именем свойства.
Даже в объектах мы можем использовать значения по умолчанию так же, как массивы.
Можно извлекать данные из вложенных массивов / объектов, для этого левая сторона должна иметь ту же структуру, что и правая.
Надеюсь, это помогло лучше понять деструктуризацию.