Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Aprenda Clonagem e Mesclagem de Objetos com o Operador Spread | Técnicas Avançadas de Manipulação de Objetos
Estruturas de Dados em JavaScript

bookClonagem e Mesclagem de Objetos com o Operador Spread

O operador spread, representado por ..., é uma ferramenta útil para criar novos objetos ao mesclar e copiar propriedades de objetos existentes. Com o operador spread, é possível realizar as seguintes tarefas:

  • Clonar objetos;
  • Adicionar ou modificar propriedades;
  • Criar novos objetos.

Vamos focar em como utilizar o operador spread com objetos.

Operador Spread

O operador spread (...) pode ser utilizado em vários contextos, mas um dos usos mais comuns é para criar novos objetos ao espalhar as propriedades de objetos existentes.

Veja a sintaxe básica do operador spread utilizado para criação de objetos:

const newObject = { ...sourceObject }; 
  • newObject: O novo objeto que desejamos criar;
  • sourceObject: O objeto de origem cujas propriedades queremos copiar.

Clonando um Objeto

Vamos considerar como clonar um objeto. Será criado um novo objeto com as mesmas propriedades e valores do objeto de origem. Quaisquer alterações feitas no novo objeto não afetam o objeto original.

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'}

Neste exemplo, clonedObject é um novo objeto que é um clone de originalObject. Quaisquer alterações feitas em clonedObject não impactam originalObject. Por isso, clonedObject possui três propriedades e originalObject possui apenas duas.

Adicionando ou Modificando Propriedades

O operador spread também é útil para adicionar ou modificar propriedades em um novo objeto. É possível incluir propriedades adicionais ou sobrescrever as existentes no novo objeto.

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'}

Neste exemplo, extendedWaterBottle é criado espalhando as propriedades de waterBottle. Além disso, a propriedade color é adicionada e a propriedade capacity é sobrescrita.

Mesclando Objetos

O operador spread pode ser utilizado para mesclar as propriedades de múltiplos objetos em um novo objeto. Isso é especialmente útil quando há várias fontes de dados para combinar.

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'}

Neste exemplo, apartment é criado ao mesclar as propriedades de apartmentFeatures e apartmentDetails.

1. Qual é o propósito do operador spread (...)?

2. Qual é a sintaxe para usar o operador spread para criar um novo objeto copiando propriedades de um objeto existente?

3. No exemplo fornecido abaixo sobre mesclagem de objetos, o que o objeto resultObj contém após o uso do operador spread?

question mark

Qual é o propósito do operador spread (...)?

Select the correct answer

question mark

Qual é a sintaxe para usar o operador spread para criar um novo objeto copiando propriedades de um objeto existente?

Select the correct answer

question mark

No exemplo fornecido abaixo sobre mesclagem de objetos, o que o objeto resultObj contém após o uso do operador spread?

Select the correct answer

Tudo estava claro?

Como podemos melhorá-lo?

Obrigado pelo seu feedback!

Seção 3. Capítulo 5

Pergunte à IA

expand

Pergunte à IA

ChatGPT

Pergunte o que quiser ou experimente uma das perguntas sugeridas para iniciar nosso bate-papo

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

bookClonagem e Mesclagem de Objetos com o Operador Spread

Deslize para mostrar o menu

O operador spread, representado por ..., é uma ferramenta útil para criar novos objetos ao mesclar e copiar propriedades de objetos existentes. Com o operador spread, é possível realizar as seguintes tarefas:

  • Clonar objetos;
  • Adicionar ou modificar propriedades;
  • Criar novos objetos.

Vamos focar em como utilizar o operador spread com objetos.

Operador Spread

O operador spread (...) pode ser utilizado em vários contextos, mas um dos usos mais comuns é para criar novos objetos ao espalhar as propriedades de objetos existentes.

Veja a sintaxe básica do operador spread utilizado para criação de objetos:

const newObject = { ...sourceObject }; 
  • newObject: O novo objeto que desejamos criar;
  • sourceObject: O objeto de origem cujas propriedades queremos copiar.

Clonando um Objeto

Vamos considerar como clonar um objeto. Será criado um novo objeto com as mesmas propriedades e valores do objeto de origem. Quaisquer alterações feitas no novo objeto não afetam o objeto original.

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'}

Neste exemplo, clonedObject é um novo objeto que é um clone de originalObject. Quaisquer alterações feitas em clonedObject não impactam originalObject. Por isso, clonedObject possui três propriedades e originalObject possui apenas duas.

Adicionando ou Modificando Propriedades

O operador spread também é útil para adicionar ou modificar propriedades em um novo objeto. É possível incluir propriedades adicionais ou sobrescrever as existentes no novo objeto.

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'}

Neste exemplo, extendedWaterBottle é criado espalhando as propriedades de waterBottle. Além disso, a propriedade color é adicionada e a propriedade capacity é sobrescrita.

Mesclando Objetos

O operador spread pode ser utilizado para mesclar as propriedades de múltiplos objetos em um novo objeto. Isso é especialmente útil quando há várias fontes de dados para combinar.

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'}

Neste exemplo, apartment é criado ao mesclar as propriedades de apartmentFeatures e apartmentDetails.

1. Qual é o propósito do operador spread (...)?

2. Qual é a sintaxe para usar o operador spread para criar um novo objeto copiando propriedades de um objeto existente?

3. No exemplo fornecido abaixo sobre mesclagem de objetos, o que o objeto resultObj contém após o uso do operador spread?

question mark

Qual é o propósito do operador spread (...)?

Select the correct answer

question mark

Qual é a sintaxe para usar o operador spread para criar um novo objeto copiando propriedades de um objeto existente?

Select the correct answer

question mark

No exemplo fornecido abaixo sobre mesclagem de objetos, o que o objeto resultObj contém após o uso do operador spread?

Select the correct answer

Tudo estava claro?

Como podemos melhorá-lo?

Obrigado pelo seu feedback!

Seção 3. Capítulo 5
some-alt