DEV Community

Cover image for Destructuring assignment e Spread operator
Alison Silva 🔥💯⛏️
Alison Silva 🔥💯⛏️

Posted on

2

Destructuring assignment e Spread operator

Combinar desestruturação com spread operator pode facilitar muito o desenvolvimento.
Como podemos ver no exemplo a seguir, os valores do array serão atribuídos as variáveis a e b, e o restante dos valores passarão para a variável rest. Entretanto isso só é possível porque utilizamos o spread operator, caso contrario, o valor da variável rest seria 2. Ao utilizarmos ... dizemos que todos os valores restante do array, devem ser atribuídos a nossa variável rest.

let a, b, rest;
[a, b, ...rest] = [0, 1, 2, 3, 4, 5, 6];
// a = 0
// b = 1
// rest = [2, 3, 4, 5, 6]
Enter fullscreen mode Exit fullscreen mode

O mesmo pode ser aplicado ao retorno de uma função.

let func = () => [0, 1, 2, 3, 4];
[a, b, ...rest] = func();
// a = 0
// b = 1
// rest = [2, 3, 4]
Enter fullscreen mode Exit fullscreen mode

Podemos utilizar também para objectos.

({a, b, ...rest} = {a:1, b:2, c:3, d:4}); 
// a = 1
// b = 2
// rest = {c:3,d:4}
Enter fullscreen mode Exit fullscreen mode

Top comments (0)

Sentry image

See why 4M developers consider Sentry, “not bad.”

Fixing code doesn’t have to be the worst part of your day. Learn how Sentry can help.

Learn more