ES6: Destructuring

Continuamos viendo las novedades que presenta ES6. En esta ocasión, vamos a ver la asignación por destructing que nos permite extraer los valores de un array o un objeto y asignarlos a variables.

Arrays

Primero vamos a ver cómo hacerlo para los arrays. Vamos a ver un ejemplo y lo explicamos paso a paso:

Ver código anterior en vivo: https://repl.it/@vreaxe/ES6-Destructing-Array

El ejemplo es simple, pero se puede ver muy fácilmente el funcionamiento. Primero de todo declaramos un array con unos valores. Después, hacemos una asignación por destructing de las valores del array a las variables a, b, c y d. También, se podría hacer directamente desde un array, sin tener que asignarlo a una variable previamente.

En las últimas líneas del ejemplo, lo que estamos haciendo es asignar el primer valor a la variable primero  y el resto de valores a la variable resto, para ello utilizamos el operador SPREAD (explicado en esta entrada).

 

Objetos

Para los objetos funciona más o menos igual que para los arrays. Vamos a ver un ejemplo y explicamos las diferencias:

Ver código anterior en vivo: https://repl.it/@vreaxe/ES6-Destructing-Object

Como ya he dicho anteriormente, funciona prácticamente igual que con los arrays, pero con algunas diferencias. Una de las diferencias es que en vez de utilizar []  se utilizan {}  para asignar las variables. La otra es que tenemos que tener en cuenta que el nombre de la variable debe ser igual que el de la propiedad que queremos asignar ( const {b, c} = obj;  ). Si quisiéramos que la variable tenga un nombre diferente al de la propiedad, lo tendríamos que indicar con <nombre de la propiedad>:<nombre de la variable>( const {x:nuevo_nombre, y} = {x:"x", y:"y"}; ).

 

-


Aloja tu proyecto en DigitalOcean: Obtén $200 de crédito gratis al registrarte a través de este enlace.

Si hay cualquier tipo de error en el post o te surge cualquier duda, no dudes en ponerlo en los comentarios o enviarme un correo desde la página de contacto.

? CONTACTAR

Deja una respuesta

  Acepto la política de privacidad