1

Asignación desestructurada

16May
en Javascript, Tutoriales, Web

A veces aparecen cosas nuevas en las últimas versiones de los lenguajes de programación y no nos enteramos. Quiero hacer algunos post sobre estas útiles cosillas que salieron hace tiempo ya en la versión 1.7 de JavaScript. Hoy hablaremos sobre la asignación desestructurada.
La asignación desestructurada hace posible extraer datos desde arrays u objetos utilizando una sintaxis que refleja la construcción de arrays y objetos literales. Una peculiaridad especialmente útil que se puede hacer con la asignación desestructurada es leer una estructura completa desde una única sentencia.
Veamos algunos ejemplos para entender mejor.

var a = 1;
var b = 3;

[a, b] = [b, a];

Después de ejecutar este código, la variable a tendrá valor 3 y la variable b tendrá valor 1. ¿Van entendiendo?; lo que hace es asignar valores en el mismo orden en que aparecen de un lado y del otro. En este caso lo hicimos para intercambiar valores.

Devolviendo múltiples valores

Gracias a la asignación desestructurada, las funciones pueden devolver múltiples valores. Veamos:

function f() {
  return [1, 2];
}

En este caso el resultado de la función se puede obtener como una asignación desestructurada o como un arreglo.

//Como asignación desestructurada
var a, b;
[a, b] = f();
console.log("A es " + a + " B es " + b);

//Como arreglo
var arr = f();
console.log ("A es " + arr[0] + " B es " + arr[1]);

//En ambos caso imprime en consola:
//"A es 1 B es 2"

Ignorar ciertos valores devueltos

Se pueden ignorar algunos valores devueltos en los que no se esté interesado:

function f() {
  return [1, 2, 3];
}

var [a, , b] = f();
console.log ("A es " + a + " B es " + b);

//Imprime en consola
//"A es 1 B es 3"

Tras ejecutar este código, el valor 2 es ignorado.
Espero hayan aprendido algo nuevo y les sirva de algo este tipo de asignación bastante peculiar.

1 Comentario

  1. Julio Cesar dice:

    Verdaderamente genial, muy bueno, de verdad.

Dejar un comentario