AD

¿Ya dominas lo básico? Un curso estructurado de JavaScript es la vía rápida para dar el salto.

Ver cursos de JavaScript en Udemy

Enlace de afiliado. No te cuesta nada extra.

🟨Lecciones de JavaScript
Lección 12 / 69

Desestructuración y sintaxis de propagación

En esta lección dominarás la desestructuración y la sintaxis de propagación en JavaScript para extraer o combinar de forma eficiente objetos y arrays. Está dirigida a quien busca «desestructuración en JavaScript» o «spread en JavaScript».

La desestructuración te permite extraer valores de un objeto o de un array de una sola vez. Escribir const { nombre, edad } = usuario; saca usuario.nombre y usuario.edad a dos variables independientes en un solo paso. La sintaxis de propagación (...) se usa para expandir y copiar, o combinar, arrays y objetos. Ambas son formas modernas que aparecen constantemente en código real.

El código de ejemplo desestructura nombre y edad del objeto usuario, y expande el array nums con la sintaxis de propagación para construir un array nuevo, newNums, con elementos añadidos. Valores que antes exigían varias líneas para extraerlos uno a uno ahora se sacan en una sola, lo que mejora la legibilidad y reduce muchísimo lo que hay que escribir.

Un tropiezo habitual al empezar es que los nombres que usas al desestructurar deben coincidir con los nombres originales de las propiedades. Indicar una propiedad que no existe no lanza error: simplemente queda como undefined. Ten cuidado también: la sintaxis de propagación solo hace una «copia superficial», así que los objetos anidados no se duplican hasta el fondo.

En el desarrollo real es ya una notación imprescindible para escribir JavaScript moderno: extraer solo los valores que necesitas de un objeto que llega como argumento, o, en una biblioteca como React, usar la propagación para copiar el estado existente y cambiar solo una parte al actualizarlo.

La desestructuración también permite renombrar la variable en la que extraes. Escribir const { nombre: nombreUsuario } = usuario; te deja recibir el valor de la propiedad nombre bajo otro nombre de variable, nombreUsuario: cómodo cuando quieres evitar chocar con el nombre original.

Al desestructurar un objeto puedes indicar además un valor por defecto. Escribir const { edad = 18 } = usuario; significa que, si la propiedad edad no existe, se usa automáticamente 18: un mecanismo parecido al de los argumentos por defecto.

JavaScript
SALIDA

💡 Todo lo que pases a console.log() aparece en la salida de abajo.

Espacio publicitario (banner)
Espacio publicitario (en el artículo)