
Volver a clases
Fundamentos de Programación●Principiante
ES6+ Features (Destructuring, Spread, Rest)
120 min
0 vistas
Destructuring, spread/rest, template literals avanzados y parámetros por defecto para escribir código más expresivo.
Destructuring en arrays y objetos
- Qué resuelve: Permite extraer valores en una sola línea, evitando código repetitivo.
- Arrays: orden por posición, con valores por defecto y rest para "el resto".
- Objetos: extraer por nombre de propiedad, renombrar variables y destructurar anidados.
- En funciones: destructuring en parámetros para recibir solo lo que necesitas.
javascript1const frutas = ["manzana", "banana", "naranja"]; 2const [primera, , tercera] = frutas; 3 4const persona = { nombre: "Ana", edad: 28, ciudad: "Madrid" }; 5const { nombre, edad } = persona;
Spread y Rest
- Spread: "expande" arrays u objetos, útil para copiar, combinar y crear nuevas estructuras sin mutar.
- Rest: agrupa parámetros restantes en arrays, ideal para funciones flexibles.
javascript1const arr1 = [1, 2]; 2const arr2 = [3, 4]; 3const combinado = [...arr1, ...arr2]; 4 5function sumar(...numeros) { 6 return numeros.reduce((acc, n) => acc + n, 0); 7}
Template Literals avanzados
- Multilínea y interpolación con expresiones dinámicas.
- Uso de tagged templates para formateo o sanitización.
javascript1const nombre = "María"; 2const mensaje = `Hola ${nombre}, hoy es ${new Date().toLocaleDateString()}`;
Ejemplos de Código
3 ejemplos
Destructuring de objetos anidados
javascript
1const usuario = { datos: { nombre: "Carlos", email: "carlos@email.com" } };
2const {
3 datos: { nombre, email },
4} = usuario;Merge de configuraciones
javascript
1const defaults = { tema: "claro", idioma: "es" };
2const custom = { tema: "oscuro" };
3const config = { ...defaults, ...custom };Logger flexible
javascript
1function log(nivel, ...mensajes) {
2 console.log(`[${nivel}]`, ...mensajes);
3}Recursos
3 recursos disponibles
Documentación Oficial
DocumentaciónPrincipiante
ES6 Features
Resumen de las nuevas características introducidas en ES6.
¡Hora de Practicar!
PrácticaPrincipiante15 min
Práctica guiada - Refactor con destructuring
Práctica
Refactorizar objetos y arrays del proyecto anterior usando destructuring y parámetros por defecto.
Desafío de Código
EjercicioPrincipiante15 min
Ejercicios - Spread y Rest
Ejercicios
(1) Unir listas sin mutar, (2) clonar objetos, (3) crear función suma con cantidad variable de argumentos.