Desestructuración de objetos JavaScript

Resumen: en este tutorial, aprenderá sobre la desestructuración de objetos JavaScript que asigna propiedades de un objeto a variables individuales.

Si desea aprender a desestructurar una matriz, puede consultar el tutorial de desestructuración de matrices.

Introducción a la asignación de desestructuración de objetos de JavaScript

Supongamos que tiene un objeto person con dos propiedades: firstName y lastName.

Code language: JavaScript (javascript)

Antes de ES6, cuando desea asignar propiedades del objeto person a variables, normalmente lo hace de la siguiente manera:

Code language: JavaScript (javascript)

ES6 introduce la sintaxis de desestructuración de objetos que proporciona una forma alternativa de asignar propiedades de un objeto a variables:

Code language: JavaScript (javascript)

En este ejemplo, las propiedades firstName y lastName se asignan a las variables fName y lName respectivamente.

En esta sintaxis:

Code language: JavaScript (javascript)

El identificador antes de los dos puntos (:) es la propiedad del objeto y el identificador después de los dos puntos es la variable.

Observe que el nombre de la propiedad siempre está a la izquierda, ya sea un literal de objeto o una sintaxis de desestructuración de objetos.

Si las variables tienen los mismos nombres que las propiedades del objeto, puede hacer que el código sea más conciso de la siguiente manera:

Code language: JavaScript (javascript)

En este ejemplo, declaramos dos variables firstName y lastName, y asignamos las propiedades del objeto person a las variables en la misma instrucción.

Es posible separar la declaración y la asignación. Sin embargo, debe rodear las variables entre paréntesis:

Si no utiliza los paréntesis, el motor JavaScript interpretará el lado izquierdo como un bloque y arrojará un error de sintaxis.

Cuando se asigna una propiedad que no existe a una variable mediante la desestructuración de objetos, la variable se establece en undefined. Por ejemplo:

Code language: JavaScript (javascript)

En este ejemplo, la propiedad middleName no existe en el objeto person, por lo tanto, la variable middleName es undefined.

Establecer valores predeterminados

Puede asignar un valor predeterminado a la variable cuando la propiedad de un objeto no existe. Por ejemplo:

Code language: JavaScript (javascript)

En este ejemplo, asignamos la cadena vacía a la variable middleName cuando el objeto person no tiene la propiedad middleName.

Además, asignamos la propiedad currentAge a la variable age con el valor predeterminado de 18.

Sin embargo, cuando el objeto person tiene la propiedad middleName, la asignación funciona como de costumbre:

Code language: JavaScript (javascript)

Desestructurar un objeto nulo

Una función puede devolver un objeto o nulo en algunas situaciones. Por ejemplo:

Code language: JavaScript (javascript)

Y utilizas la asignación de desestructuración de objetos:

Code language: JavaScript (javascript)

El código lanzará un TypeError:

Code language: JavaScript (javascript)

Para evitar esto, puede usar el operador OR (||) para sustituir el objeto null por un objeto vacío:

Code language: JavaScript (javascript)

Ahora, no se producirá ningún error. Y firstName y lastName serán undefined.

Desestructuración de objetos anidados

Suponiendo que tiene un objeto employee que tiene un objeto name como propiedad:

Code language: JavaScript (javascript)

La siguiente instrucción desestructura las propiedades del objeto name anidado en variables individuales:

Code language: JavaScript (javascript)

Es posible hacer asignación múltiple de una propiedad a múltiples variables:

Code language: JavaScript (javascript)

Argumentos de función de desestructuración

Supongamos que tiene una función que muestra el objeto person:

Code language: JavaScript (javascript)

Es posible desestructurar el argumento objeto pasado a la función de esta manera:

Code language: JavaScript (javascript)

Se ve menos detallado, especialmente cuando se utilizan muchas propiedades del objeto argumento. Esta técnica se usa a menudo en React.

Resumen

  • La desestructuración de objetos asigna las propiedades de un objeto a variables con los mismos nombres de forma predeterminada.
  • ¿Fue útil este tutorial ?
  • YesNo

You might also like

Deja una respuesta

Tu dirección de correo electrónico no será publicada.