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"]);
A. 2016
B. 2011
C. SyntaxisError
D. Ninguna de las anteriores
Respuesta en el primer comentario.
Top comments (1)
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: