DEV Community 👩‍💻👨‍💻

Cristian Fernando
Cristian Fernando

Posted on

Paracetamol.js💊| #168: Explica este código JavaScript

Explica este código JavaScript

Dificultad: Intermedio

const libro = {
  isbn: "1265-4985-466",
  titulo: "Los miserables",
  datosEditorial: {
    nombre: "Santillana",
    "año publicacion": 2016
  }
};

const copiaLibro = {...libro}
copiaLibro.datosEditorial["año publicacion"] = 2011;

console.log(libro.datosEditorial["año publicacion"]);
Enter fullscreen mode Exit fullscreen mode

A. 2016
B. 2011
C. SyntaxisError
D. Ninguna de las anteriores

Respuesta en el primer comentario.


Top comments (1)

Collapse
duxtech profile image
Cristian Fernando Author

Respuesta:
B. 2011

Pese a que realizamos una copia del objeto libro y modificamos dicha copia, el objeto original se vio afectado; ¿por que pasa esto?

El spread operator solo tiene la capacidad de realizar copias superficiales de los objetos, la key año publicacion es una propiedad anidada ergo no es posible realizar una copia profunda usando sintaxis spread.

Esta característica solo ocurre con las propiedades anidadas del objeto, para las propiedades superficiales la copia se realiza sin ningún problema.

Este post de instagram de @midudev amplia mejor el concepto:

🌚 Friends don't let friends browse without dark mode.

Sorry, it's true.