JS-0804 - JavaScript Completo ES6 - Rest e Spread
... operando com três pontos
A palavra-chave arguments é um objeto array-like criado dentro da função que contém os valores dos argumentos passados como parâmetros.
Parâmetro Rest
Utilizando rest, é possível realizar a declaração de vários parâmetros como um único utilizando três pontos "..." na frente deste. Assim todos os argumentos passados na ativação da função serão identificados como elementos dentro do parâmetro.
Contudo, só é possível passar um único parâmetro como rest. Caso haja a necessidade de passar outro parâmetro, o rest deverá ser o último, sempre no final.
Rest vs Arguments
Apesar de ambos ter um retorno semelhante, rest é um array real e arguments é um objeto array-like, portanto, possuem métodos diferentes em seu prototype.
Operador Spread
Como o rest, o operador spread também utiliza os três pontos para ser ativado, substituindo um item iterável um a um em um array.
Spread Argument
O spread pode ser muito útil em funções que recebem uma lista de argumentos ao invés de um array. Ex:
Transformar em Array
Utilizando spread, é possível transformar facilmente itens iteráveis em um array real. Ex: