⊗jsPmROInr 294 of 505 menu

Operador rest em JavaScript

Vamos começar esta lição com uma explicação. Em todas as lições anteriores desta seção, eu não contei a verdade completa sobre o operador ...

Na verdade, este operador, dependendo do local no código, pode ser chamado de operador spread ou operador rest.

Como você já sabe, quando o operador spread está antes de um array ou string, ele os divide em valores individuais. O operador rest, embora tenha a mesma sintaxe ..., é destinado a outra coisa.

Agora vamos entender para quê. Suponha que temos uma função que aceita dois parâmetros:

function func(a, b) { console.log(a); console.log(b); }

Você já deve saber que se passarmos parâmetros extras para a função, isso não causará um erro:

func(1, 2, 3, 4, 5);

O operador rest permite obter todos os parâmetros extras na forma de um array. Para isso, adiciona-se mais um parâmetro à função (obrigatoriamente por último), antes do qual são escritos 3 pontos:

function func(a, b, ...rest) { }

Esses três pontos são o operador rest, e o nome da variável pode ser qualquer um, mas geralmente também é convencionado chamá-lo de rest.

Vamos chamar nossa função com um número excessivo de parâmetros e ver o que chega aos parâmetros a e b, e o que - ao restante rest:

func(1, 2, 3, 4, 5); function func(a, b, ...rest) { console.log(a); // exibirá 1 console.log(b); // exibirá 2 console.log(rest); // exibirá [3, 4, 5] }

Se não houver parâmetros extras, a variável rest será um array vazio:

func(1, 2); function func(a, b, ...rest) { console.log(a); // exibirá 1 console.log(b); // exibirá 2 console.log(rest); // exibirá [] }

A função pode não ter parâmetros, mas ainda assim é possível adicionar rest a ela. Nesse caso, a função pode ser chamada com qualquer número de parâmetros e todos eles entrarão no array rest:

function func(...rest) { console.log(rest); }
Português
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Nós usamos cookies para o funcionamento do site, análises e personalização. O processamento de dados é realizado de acordo com a Política de Privacidade.
aceitar todas configurar rejeitar