Узнайте о деструктуризации в JavaScript на практических примерах
Вступление
Назначение деструктуризации - это специальный синтаксис, представленный в ES6, для аккуратного присвоения значений, взятых непосредственно из объекта. Это выражение JavaScript, которое позволяет распаковывать значения из массивов или свойства из объектов в отдельные переменные. Деструктуризация упрощает написание более чистого кода JavaScript. В результате ваш код будет легко читать и поддерживать.
В этой статье мы узнаем о назначении деструктуризации в JavaScript. Давайте приступим к делу.
Используйте деструктуризацию для извлечения значений из объектов
Мы можем использовать назначение деструктуризации для извлечения значений из объектов, но сначала давайте посмотрим, как мы это делаем в ES5.
Вот пример:
const user = { name: 'John Doe', age: 34 }; const name = user.name; //Prints: name = 'John Doe' const age = user.age; //Prints: age = 34
Вот эквивалент с использованием синтаксиса деструктуризации ES6:
const { name, age } = user; //Prints: name = 'John Doe', age = 34
Как видите, будут созданы переменные name
и age
, которым будут присвоены значения соответствующих значений из объекта user
. Деструктурирование ES6 намного проще и понятнее. Вы можете извлечь из объекта столько значений, сколько захотите.
Назначьте переменные из объектов
Присваивание деструктуризации позволяет нам присваивать переменные из объектов.
Вот пример того, как вы можете давать новые имена переменных в назначении:
const { name: userName, age: userAge } = user; // userName = 'John Doe', userAge = 34
Вы можете прочитать это как «получить значение user.name
и присвоить его новой переменной с именем userName
».
Мы также можем использовать деструктуризацию ES6 для присвоения переменных из вложенных объектов. Давайте возьмем вложенный объект под johnDoe
и попробуем назначить из него переменные.
Вот пример:
const user = { johnDoe: { age: 34, email: '[email protected]' } };
Вот как извлечь значения свойств объекта и присвоить их одноименным переменным:
const { johnDoe: { age, email }} = user;
Используя назначение деструктуризации, вы можете сколько угодно сходить с ума от вложенных объектов.
Назначить переменные из массивов
ES6 делает деструктуризацию массивов такой же простой, как деструктуризацию объектов. Взгляните на примеры ниже:
const [a, b] = [1, 2, 3, 4, 5, 6]; console.log(a, b); // 1, 2
Мы также можем получить доступ к значению по любому индексу в массиве с деструктуризацией, используя запятые для достижения желаемого индекса.
Вот пример:
const [a, b,,, c] = [1, 2, 3, 4, 5, 6];
console.log(a, b, c); // 1, 2, 5
Как видите, это простой способ назначать переменные из массивов.
Передайте объект как параметры функции
В некоторых случаях вы можете деструктурировать объект в самом аргументе функции.
Взгляните на следующий пример:
const profileUpdate = ({ name, age, nationality, location }) => {
/* do something with these fields */ }
Когда profileData
передается в указанную выше функцию, значения деструктурируются из параметра функции для использования внутри функции.
Вы можете добиться того же с помощью следующего примера:
const profileUpdate = (profileData) => {
const { name, age, nationality, location } = profileData;
// do something with these variables
}
Это эффективно разрушает объект, отправленный в функцию.
Заключение
Как видите, назначение деструктуризации в JavaScript - одна из важных и полезных функций ES6, о которых вам следует знать. Он вам очень понадобится при работе с такими фреймворками, как React или Vue.
Спасибо, что прочитали эту статью, надеюсь, вы нашли ее полезной. Если да, то получите больше похожего контента, подписавшись на наш канал на YouTube в Decoded!