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

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

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

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

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

Оператор розширення

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

Базовий синтаксис:

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

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

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

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 the difference between shallow and deep cloning with the spread operator?

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

Can you show more examples of using the spread operator with objects?

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

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

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

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

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

Оператор розширення

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

Базовий синтаксис:

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

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

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

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