Lo que estás viendo es una tarea de desestructuración. Es una forma de coincidencia de patrones como en Haskell.
Con la asignación de desestructuración, puede extraer valores de objetos y matrices y asignarlos a variables recién declaradas utilizando la sintaxis literal de objeto y matriz. Esto hace que el código sea mucho más conciso.
Por ejemplo:
var ascii = {
a: 97,
b: 98,
c: 99
};
var {a, b, c} = ascii;
El código anterior es equivalente a:
var ascii = {
a: 97,
b: 98,
c: 99
};
var a = ascii.a;
var b = ascii.b;
var c = ascii.c;
De manera similar para las matrices:
var ascii = [97, 98, 99];
var [a, b, c] = ascii;
Esto es equivalente a:
var ascii = [97, 98, 99];
var a = ascii[0];
var b = ascii[1];
var c = ascii[2];
También puede extraer y cambiar el nombre de una propiedad de objeto de la siguiente manera:
var ascii = {
a: 97,
b: 98,
c: 99
};
var {a: A, b: B, c: C} = ascii;
Esto es equivalente a:
var ascii = {
a: 97,
b: 98,
c: 99
};
var A = ascii.a;
var B = ascii.b;
var C = ascii.c;
Eso es todo al respecto.