Contenido del curso
Configuracion
¿Qué se implementó en ES6?
- 4

let, const y arrow functions en ES6
15:29 min - 5

Template literals en JavaScript ES6
08:11 min - 6

Parámetros por defecto en funciones ES6
05:46 min - 7

Desestructuración de arrays y objetos en JavaScript
Viendo ahora - 8

Spread y rest parameters en JavaScript
07:30 min - 9

Playground: Combina objetos JSON con el Spread Operator
- 10

Object literals abreviados en ES6
05:42 min - 11

Promesas en JavaScript con resolve y reject
08:09 min - 12

Clases en JavaScript con getters y setters
18:54 min - 13

Módulos en JavaScript con import y export
09:48 min - 14

Playground: Obtén una lista de películas
- 15

Generators en JavaScript: control del estado
07:19 min - 16

Playground: Generador de identificadores para michis
- 17

Método add() y encadenamiento en Sets JS
04:36 min
¿Qué se implementó en ES7?
¿Qué se implementó en ES8?
¿Qué se implementó en ES9?
¿Qué se implementó en ES10?
¿Qué se implementó en ES11?
¿Qué se implementó en ES12?
¿Qué se implementó en ES13?
Recapitulación
Desestructuración de arrays y objetos en JavaScript
Resumen
La desestructuración llegó con ECMAScript 6 y cambió la forma en que extraemos valores de arrays y objetos en JavaScript. Si quieres escribir código más limpio, legible y fácil de mantener, el destructuring es una de esas herramientas que vas a usar todos los días.
Aquí te muestro cómo funciona con ejemplos prácticos, en qué se diferencia el manejo entre arrays y objetos, y cuándo conviene usar la posición tradicional en lugar de desestructurar.
¿Qué es la desestructuración en JavaScript y por qué importa?
La desestructuración es una expresión de asignación que te permite extraer valores de arrays u objetos y guardarlos directamente en variables, sin tener que acceder uno por uno a cada posición o propiedad.
¿Qué es destructuring en JavaScript? Es una sintaxis de ECMAScript 6 que asigna valores de un array u objeto a variables independientes en una sola línea, mejorando la legibilidad del código.
Existen dos tipos de expresiones de asignación de desestructuración: una para arrays y otra para objetos. Cada una tiene su propia sintaxis y su mejor caso de uso.
¿Cómo se desestructura un array paso a paso?
Para empezar, creamos un archivo llamado 04-rest-spread.js y trabajamos con un array sencillo de frutas [00:38].
javascript // Array destructuring let fruits = ['apple', 'banana']; let [a, b] = fruits; console.log(a, b); // apple banana
Lo interesante aquí es que a recibe el valor de la posición 0 y b el de la posición 1, todo en una sola línea. La alternativa tradicional sería acceder por índice:
javascript console.log(fruits[0], fruits[1]);
Funciona igual, pero cuando trabajas con arreglos grandes o con lógica compleja, recordar qué hay en cada posición se vuelve confuso. Por eso la desestructuración gana puntos en claridad.
¿Cuándo conviene usar la posición del array en lugar de destructuring?
Cuando los valores son dinámicos. Imagina que la posición que necesitas viene de otra variable o de una respuesta de API: ahí tiene sentido usar fruits[i] porque no sabes desde el inicio qué elemento vas a necesitar.
En cambio, si conoces de antemano los valores que quieres extraer, desestructurar es más limpio.
¿Cómo funciona el destructuring con objetos?
Con objetos, la lógica es similar pero usas llaves {} en lugar de corchetes, y los nombres de las variables deben coincidir con las propiedades [02:25].
javascript // Object destructuring let user = { username: 'Oscar', age: 34 };
let { username, age } = user; console.log(username, age); // Oscar 34
Fíjate en el detalle: no estás eligiendo por posición, estás eligiendo por nombre de propiedad. Por eso el orden dentro de las llaves no importa, lo que importa es que username y age existan en el objeto user.
¿Cuál es la diferencia entre desestructurar arrays y objetos? En arrays usas corchetes y el orden importa porque extraes por posición. En objetos usas llaves y el orden no importa porque extraes por nombre de propiedad.
La forma tradicional sería acceder con notación de punto:
javascript console.log(user.username, user.age);
Funciona, pero si necesitas usar esos valores varias veces en tu código, repetir user.username una y otra vez ensucia la lectura. Desestructurar te deja con variables limpias listas para usar.
¿Qué ventajas reales aporta destructuring en tu código?
Más allá de la sintaxis bonita, hay beneficios concretos cuando lo aplicas en proyectos reales:
- Legibilidad inmediata: con solo ver la línea de desestructuración, sabes qué datos se están usando.
- Menos repetición: evitas escribir
objeto.propiedadmúltiples veces. - Mejor mantenimiento: si cambia la estructura del objeto, ajustas en un solo lugar.
- Asignaciones múltiples: extraes varios valores en una línea sin necesidad de declarar variable por variable.
Y aquí viene lo interesante: el destructuring no reemplaza al acceso tradicional, lo complementa. Vas a tener escenarios donde acceder por índice o por punto sea lo correcto, especialmente cuando trabajas con valores dinámicos o cuando solo necesitas un dato puntual.
¿Destructuring funciona con cualquier array u objeto?
Sí, siempre que el valor que asignes sea un array o un objeto válido. Puedes desestructurar arrays anidados, objetos anidados e incluso combinarlos. La sintaxis se adapta al tipo de estructura que tengas en memoria.
El siguiente paso natural después de dominar destructuring es aprender el operador de propagación (spread), que trabaja en conjunto con esta lógica para construir aplicaciones más flexibles.
¿Ya identificaste en qué parte de tu código actual podrías reemplazar accesos por índice con desestructuración? Cuéntame en los comentarios cómo lo aplicarías.