Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Вивчайте Клонування та об'єднання об'єктів за допомогою оператора Spread | Просунуті Методи Маніпулювання Об'єктами
Структури Даних JavaScript

bookКлонування та об'єднання об'єктів за допомогою оператора Spread

Оператор розповсюдження, позначений як ..., є корисним інструментом для створення нових об'єктів шляхом об'єднання та копіювання властивостей з існуючих об'єктів. За допомогою оператора розповсюдження можна виконувати такі завдання:

  • Клонування об'єктів;
  • Додавання або зміна властивостей;
  • Створення нових об'єктів.

Розглянемо, як використовувати оператор розповсюдження з об'єктами.

Оператор розповсюдження

Оператор розповсюдження (...) можна використовувати в різних контекстах, але одним із найпоширеніших його застосувань є створення нових об'єктів шляхом розповсюдження властивостей існуючих об'єктів.

Ось базовий синтаксис використання оператора розповсюдження для створення об'єкта:

const newObject = { ...sourceObject }; 
  • newObject: Новий об'єкт, який потрібно створити;
  • sourceObject: Вихідний об'єкт, властивості якого потрібно скопіювати.

Клонування об'єкта

Розглянемо, як клонувати об'єкт. Ми створимо новий об'єкт з такими ж властивостями та значеннями, як у вихідного об'єкта. Будь-які зміни, внесені до нового об'єкта, не впливають на оригінальний об'єкт.

const originalObject = {
  name: "Diamond Kite",
  color: "purple",
};

// Create a cloned object by spreading the original object
const clonedObject = { ...originalObject }; // Cloning with the help of the spread operator

// Add a new property to the cloned object
clonedObject.size = "large"; // Adding a new property to the cloned object

console.log(originalObject); // Output: {name: 'Diamond Kite', color: 'purple'}
console.log(clonedObject); // Output: {name: 'Diamond Kite', color: 'purple', size: 'large'}

У цьому прикладі clonedObject — це новий об'єкт, який є клоном originalObject. Будь-які зміни, внесені до clonedObject, не впливають на originalObject. Тому у clonedObject три властивості, а у originalObject — лише дві.

Додавання або зміна властивостей

Оператор розгортання також корисний для додавання або зміни властивостей у новому об'єкті. Ми можемо додати додаткові властивості або перевизначити існуючі у новому об'єкті.

const waterBottle = {
  brand: "HydroFlask",
  capacity: 32,
};

const extendedWaterBottle = {
  ...waterBottle,
  color: "blue",
  capacity: 24,
};

console.log(waterBottle); // Output: {brand: 'HydroFlask', capacity: 32}
console.log(extendedWaterBottle); // Output: {brand: 'HydroFlask', capacity: 24, color: 'blue'}

У цьому прикладі extendedWaterBottle створюється шляхом розповсюдження властивостей об'єкта waterBottle. Додатково додається властивість color, а властивість capacity перевизначається.

Об'єднання об'єктів

Оператор розповсюдження можна використовувати для об'єднання властивостей декількох об'єктів у один новий об'єкт. Це особливо корисно, коли потрібно поєднати дані з різних джерел.

const apartmentFeatures = {
  size: "1200 square feet",
  bedrooms: 2,
  bathrooms: 2,
};

const apartmentDetails = {
  rent: 2000,
  location: "Downtown City",
};

const apartment = { ...apartmentFeatures, ...apartmentDetails };
console.log(apartment); // Output: {size: '1200 square feet', bedrooms: 2, bathrooms: 2, rent: 2000, location: 'Downtown City'}

У цьому прикладі apartment створюється шляхом об'єднання властивостей з apartmentFeatures та apartmentDetails.

1. Яке призначення оператора розповсюдження (...)?

2. Який синтаксис використання оператора розповсюдження для створення нового об'єкта шляхом копіювання властивостей з існуючого об'єкта?

3. У наведеному нижче прикладі з об'єднанням об'єктів, який вміст об'єкта resultObj після використання оператора розповсюдження?

question mark

Яке призначення оператора розповсюдження (...)?

Select the correct answer

question mark

Який синтаксис використання оператора розповсюдження для створення нового об'єкта шляхом копіювання властивостей з існуючого об'єкта?

Select the correct answer

question mark

У наведеному нижче прикладі з об'єднанням об'єктів, який вміст об'єкта resultObj після використання оператора розповсюдження?

Select the correct answer

Все було зрозуміло?

Як ми можемо покращити це?

Дякуємо за ваш відгук!

Секція 3. Розділ 5

Запитати АІ

expand

Запитати АІ

ChatGPT

Запитайте про що завгодно або спробуйте одне із запропонованих запитань, щоб почати наш чат

Suggested prompts:

Can you explain how the spread operator works with arrays?

What happens if two objects have properties with the same name when merging?

Are there any limitations or caveats when using the spread operator with objects?

Awesome!

Completion rate improved to 2.27

bookКлонування та об'єднання об'єктів за допомогою оператора Spread

Свайпніть щоб показати меню

Оператор розповсюдження, позначений як ..., є корисним інструментом для створення нових об'єктів шляхом об'єднання та копіювання властивостей з існуючих об'єктів. За допомогою оператора розповсюдження можна виконувати такі завдання:

  • Клонування об'єктів;
  • Додавання або зміна властивостей;
  • Створення нових об'єктів.

Розглянемо, як використовувати оператор розповсюдження з об'єктами.

Оператор розповсюдження

Оператор розповсюдження (...) можна використовувати в різних контекстах, але одним із найпоширеніших його застосувань є створення нових об'єктів шляхом розповсюдження властивостей існуючих об'єктів.

Ось базовий синтаксис використання оператора розповсюдження для створення об'єкта:

const newObject = { ...sourceObject }; 
  • newObject: Новий об'єкт, який потрібно створити;
  • sourceObject: Вихідний об'єкт, властивості якого потрібно скопіювати.

Клонування об'єкта

Розглянемо, як клонувати об'єкт. Ми створимо новий об'єкт з такими ж властивостями та значеннями, як у вихідного об'єкта. Будь-які зміни, внесені до нового об'єкта, не впливають на оригінальний об'єкт.

const originalObject = {
  name: "Diamond Kite",
  color: "purple",
};

// Create a cloned object by spreading the original object
const clonedObject = { ...originalObject }; // Cloning with the help of the spread operator

// Add a new property to the cloned object
clonedObject.size = "large"; // Adding a new property to the cloned object

console.log(originalObject); // Output: {name: 'Diamond Kite', color: 'purple'}
console.log(clonedObject); // Output: {name: 'Diamond Kite', color: 'purple', size: 'large'}

У цьому прикладі clonedObject — це новий об'єкт, який є клоном originalObject. Будь-які зміни, внесені до clonedObject, не впливають на originalObject. Тому у clonedObject три властивості, а у originalObject — лише дві.

Додавання або зміна властивостей

Оператор розгортання також корисний для додавання або зміни властивостей у новому об'єкті. Ми можемо додати додаткові властивості або перевизначити існуючі у новому об'єкті.

const waterBottle = {
  brand: "HydroFlask",
  capacity: 32,
};

const extendedWaterBottle = {
  ...waterBottle,
  color: "blue",
  capacity: 24,
};

console.log(waterBottle); // Output: {brand: 'HydroFlask', capacity: 32}
console.log(extendedWaterBottle); // Output: {brand: 'HydroFlask', capacity: 24, color: 'blue'}

У цьому прикладі extendedWaterBottle створюється шляхом розповсюдження властивостей об'єкта waterBottle. Додатково додається властивість color, а властивість capacity перевизначається.

Об'єднання об'єктів

Оператор розповсюдження можна використовувати для об'єднання властивостей декількох об'єктів у один новий об'єкт. Це особливо корисно, коли потрібно поєднати дані з різних джерел.

const apartmentFeatures = {
  size: "1200 square feet",
  bedrooms: 2,
  bathrooms: 2,
};

const apartmentDetails = {
  rent: 2000,
  location: "Downtown City",
};

const apartment = { ...apartmentFeatures, ...apartmentDetails };
console.log(apartment); // Output: {size: '1200 square feet', bedrooms: 2, bathrooms: 2, rent: 2000, location: 'Downtown City'}

У цьому прикладі apartment створюється шляхом об'єднання властивостей з apartmentFeatures та apartmentDetails.

1. Яке призначення оператора розповсюдження (...)?

2. Який синтаксис використання оператора розповсюдження для створення нового об'єкта шляхом копіювання властивостей з існуючого об'єкта?

3. У наведеному нижче прикладі з об'єднанням об'єктів, який вміст об'єкта resultObj після використання оператора розповсюдження?

question mark

Яке призначення оператора розповсюдження (...)?

Select the correct answer

question mark

Який синтаксис використання оператора розповсюдження для створення нового об'єкта шляхом копіювання властивостей з існуючого об'єкта?

Select the correct answer

question mark

У наведеному нижче прикладі з об'єднанням об'єктів, який вміст об'єкта resultObj після використання оператора розповсюдження?

Select the correct answer

Все було зрозуміло?

Як ми можемо покращити це?

Дякуємо за ваш відгук!

Секція 3. Розділ 5
some-alt