Fogos de artifício coloridos em um céu escuro

ES6: spread operator

O carinha spread nos permite extrair/expandir dados de um array agilizando a nossa vida. Confuso? Acho que não consegui explicar. Vamos à prática. Imaginemos os seguintes arrays:

let mortalKombat = ['Scorpion', 'Sub Zero', 'Liu Kang'];
let newCharacters = ['Reptile', 'Kitana'];

Se tivéssemos que adicionar os novos lutadores ao array principal, poderíamos tentar algo assim:

mortalKombat.push(newCharacters);

console.log(mortalKombat);
// ['Scorpion', 'Sub Zero', 'Liu Kang', ['Reptile', 'Kitana']]

Adicionou mas não ficou do jeito que queríamos. Teríamos então que tratar isso antes, algo mais ou menos assim:

newCharacters.forEach(function(fighter) {
  mortalKombat.push(fighter);
});

console.log(mortalKombat);
// ['Scorpion', 'Sub Zero', 'Liu Kang', 'Reptile', 'Kitana']

O operador spread chega chutando a porta e deixando tudo bonitão.

mortalKombat.push(...newCharacters);

console.log(mortalKombat);
// ['Scorpion', 'Sub Zero', 'Liu Kang', 'Reptile', 'Kitana']

Aqui você encontra um JS Bin com os exemplos acima.

Gostou? Escrevi alguma groselha? Quer melhorar? Abra uma issue mencionando o post e vamos conversar.

See all posts...