
Сегодня я рассмотрел операторы rest и spread в JavaScript. Эти концепции широко используются даже при разработке React. Итак, прыгаем!
Оператор отдыха
Оператор rest позволяет нам извлечь оставшиеся элементы массива при использовании деструктуризации массива. Рассмотрим пример:
const likes = ["bones", "walks", "cuddles", "family", "toys"]; const [like1, like2, ...otherLikes] = likes; console.log(like1, like2, otherLikes); // Output: bones walks ["cuddles", "family", "toys"]
В этом коде оператор остатка ... используется для сбора оставшихся элементов массива likes в массив otherLikes.
Оператор спреда
Это позволяет нам брать элементы из массива или объекта и распределять их по отдельным элементам. Это упрощает создание новых массивов или объектов путем добавления или изменения элементов.
- Пример массива:
const likes = ["bones", "walks", "cuddles", "family", "toys"]; const newLikes = [...likes, "sleep"]; console.log(newLikes); // Output: ["bones", "walks", "cuddles", "family", "toys", "sleep"]
В этом коде оператор распространения используется для создания нового массива newLikes путем объединения элементов likes с дополнительным элементом "sleep".
2. Пример объекта:
const zzong = {
breed: "mixed",
nickname: "princess",
age: 11,
likes: ["bones", "walks", "cuddles", "family", "toys"]
};
const updatedZzong = {
...zzong,
color: ["white", "brown"],
size: "medium"
};
console.log(updatedZzong);
// Output: { breed: "mixed", nickname: "princess", age: 11, likes: ["bones", "walks", "cuddles", "family", "toys"], color: ["white", "brown"], size: "medium" }
В этом примере оператор распространения используется для создания нового объекта updatedZzong путем копирования всех свойств объекта zzong и добавления новых свойств color и size. Результатом является новый объект, который включает в себя все исходные свойства наряду с новыми.