Copias y referencias
JavaScript · Unidad 15: Inmutabilidad
- Plan completo
- JavaScript
- 10 ejercicios
Ya sabes que = no copia un objeto: le pone otro nombre. Y que { ...obj } sí arma uno nuevo, pero solo del primer nivel.
A eso se le llama copia superficial: si adentro hay otro objeto, la copia y el original comparten ese objeto de adentro.
const a = { n: 1, sub: { m: 2 } };
const b = { ...a };
b.n = 9;
b.sub.m = 9;
console.log(a.n, a.sub.m);Imprime
1 9
El resto de la explicación está en la lección, que es del plan completo.
Ejercicios de esta lección
Se hacen en la app, que los corrige al momento y explica por qué.
1. Predice la salida
El pedido se copia y se le cambian dos cosas. ¿Qué imprime?
2. Opción múltiple
usuarioguardanombreydir, ydires otro objeto. ¿Qué crea{ ...usuario }?3. Completa el código
Completa para que subirle los puntos a la copia no le suba los puntos a Leo.
4. Completa el código
Completa para que la copia traiga objetos nuevos, no los mismos.
5. Predice la salida
Dos copias de la misma lista, hechas de distinta forma. ¿Qué imprime?
6. Encuentra el bug
rdebería ser una copia independiente deb: al anotar a Leo enr, la lista debdebería seguir con Ana sola. ¿Qué línea tiene el error?7. Predice la salida
La ficha se copia con el viaje por JSON. ¿Qué imprime?
8. Opción múltiple
¿Cuándo no sirve copiar con
JSON.parse(JSON.stringify(x))?9. Ordena las líneas
Ordena el programa que copia la receta a fondo y le agrega ajo solo a la copia.
10. Predice la salida
La función reparte un bono. ¿Qué imprime?
Se abre en el navegador. Esta lección es del plan completo; la primera unidad de cada curso es gratis.