Sintaxe do parâmetro REST em JavaScript | Explicado com exemplos

Sintaxe do parâmetro REST em JavaScript | Explicado com exemplos
Os parâmetros de descanso agora estão se tornando parte integrante do desenvolvimento de JavaScript. Ao contrário de outros idiomas, JavaScript - com o uso de parâmetros de repouso permite ao usuário escrever essas funções que podem aceitar qualquer número de argumentos e fornece a instalação para executar ações nesses argumentos.

Com a chegada do ES6, uma onda de novos recursos atingiu a linguagem JavaScript, a maioria desses recursos era totalmente nova e os outros eram uma alternativa eficiente às soluções já existentes. O parâmetro REST foi um dos novos recursos que foram introduzidos na versão ES6 do JavaScript. Quando você chegar à parte inferior desta página, você teria aprendido quais são o resto dos parâmetros, como eles são diferentes dos argumentos normais e como usá -los junto com seus exemplos.

Parâmetros de descanso

Nós já mencionamos o que o Descansar Parâmetros são, mas se estamos falando sobre entender esse novo recurso, teremos que entrar em um pequeno detalhe. Os parâmetros de repouso são definidos quando estamos escrevendo uma função como os parâmetros normais. Mas, diferentemente dos parâmetros normais, para definir um parâmetro de descanso no JavaScript, você precisa usar um prefixo especial antes do identificador que é um DOT TRIPLE (…). Os argumentos que são passados ​​nos parâmetros são todos colocados juntos em um Variedade.

A sintaxe para definir o parâmetro REST é:

função functionIdentifier (… argsIdentifier) ​​
// corpo da função

Observação: Os parâmetros de descanso armazenam os argumentos passados ​​dentro dele em um Instância de uma matriz Sob o mesmo identificador.

Regras para definir parâmetros de descanso

Existem certas regras que devem ser seguidas ao definir o parâmetro restante de uma função. Essas regras são realmente simples e, se não forem seguidas, o programa resultará em um erro:

  • Deve haver apenas um parâmetro de descanso na função
  • O parâmetro restante deve ser apenas o último parâmetro da função

Vamos discutir os dois:

Deve haver apenas um parâmetro de descanso na função

Uma função não pode ter vários parâmetros de descanso, porque os parâmetros de descanso são usados ​​quando você tem um número não especificado de argumentos. O programa não pode diferenciar quais argumentos colocar no primeiro parâmetro de repouso e quais argumentos a serem colocados no segundo parâmetro REST.

Por exemplo, pegue as seguintes linhas de código e tente executar o programa.

função linuxhint (… args,… args2)
console.log ("Tutorial de dica do Linux")

Quando você tenta executar o código, você obtém a seguinte saída.

O programa trava a definição da função e sai da execução com erro Código 1(acidente inesperado)

O parâmetro restante deve ser apenas o último parâmetro da função

Semelhante ao raciocínio da última regra, um parâmetro REST pode ser apenas o último parâmetro na lista de parâmetros da função, porque o programa não saberá quando parar de colocar argumentos no parâmetro restante e seguir para o próximo parâmetro. Isso ocorre porque, por definição, o parâmetro restante pode levar uma quantidade infinita de argumentos.

Por exemplo, pegue as seguintes linhas de código:

função linuxhint (… args, var1)
console.log ("Tutorial de dica do Linux")
console.log (args)
console.log (var1)

linuxhint (1,2,2,3,3);

Quando estamos chamando a função, o programa não tem idéia de quais são nossas intenções. Talvez queremos colocar os 4 primeiros argumentos no args e o último no VAR1; Como não é um erro de sintaxe, ele não é destacado por um editor de código (na maioria dos casos), mas quando você tenta compilar o programa, ele trava a definição de função como:

O programa trava a definição da função e sai da execução com erro Código 1.

Buscando dados de parâmetros de repouso

Como já mencionamos acima, os argumentos que são passados ​​dentro dos parâmetros restantes são armazenados em uma matriz. Portanto, quando você deseja usar os dados que foram passados ​​dentro do parâmetro restante, você pode fazer isso usando a maneira como usamos para acessar dados da matriz. Vamos primeiro criar uma função que aceite parâmetros de descanso com as seguintes linhas de código:

função linuxhint (… args)
console.log (args);

Temos uma função que leva uma quantidade não especificada de argumentos e depois imprime a matriz que está armazenando esses argumentos. Para executar esta função, precisamos chamar essa função com a seguinte linha:

Linuxhint (1, 32, 3, 4, 3, 3, 123, 123, 123, 123);

Estamos passando alguns argumentos durante a chamada de função. Ao executar o programa, você obterá a seguinte saída:

Da saída, podemos concluir claramente que os argumentos estão sendo armazenados dentro de uma instância de matriz.

Como usar parâmetros de repouso ao lado de argumentos normais?

Podemos usar descansar Parâmetros ao lado dos argumentos normais e para explicar isso, vamos imaginar um cenário.

Um teste surpresa foi realizado em uma aula e um número desconhecido de estudantes fez esse teste. As marcas totais do teste foram de 50 e qualquer aluno inferior a 15 falhou neste teste.

Agora, vamos escrever um trecho de código que levará marcas obtidas por um número indefinido de estudantes e nos dizer quantos alunos falharam nesse teste, mas o limite inferior de marcas (abaixo dos quais os alunos serão considerados falhados esse teste) também será uma entrada que neste caso seria 15.

Então, primeiro, vamos criar uma função que leva duas entradas, uma sendo o limite das marcas inferiores e a outra seria um parâmetro de descanso para as marcas obtidas:

Função FailCounter (PassingLimit,… Studentmarks)
// comandos posteriores aqui dentro

Como você pode ver, temos dois argumentos: o passando e a estudantes marcam (param de descanso).

A próxima coisa que precisamos é de uma variável contador que contará o número de alunos que falharam no teste, e podemos criar isso usando a linha:

falhas estudentes = 0;

Em seguida é passar pela matriz criada pelo parâmetro restante e comparar as marcas de cada aluno com o limite de passagem. Se as marcas obtidas forem inferiores ao limite de passagem, aumentamos a variável contador em 1. Use as seguintes linhas de código.

para (vamos i = 0; i se (estudantes marca [i] FAILSTUDENTES ++;

A última etapa seria exibir a saída com as seguintes linhas de código:

console.log ("Número de alunos que fizeram o teste:" + Studentmarks.comprimento);
console.log ("Número de alunos que falharam no teste:" + FAILSTUDENTS);

Agora que nossa função está pronta para ser usada, precisamos chamá -la e passar em vários argumentos, sendo o primeiro o limite de aprovação e o restante sendo as marcas dos alunos que usam a linha:

FailCounter (15,33,23,12,3,5,33,34,23,27,12,3,3,3,11,33,17,19,15,15,23,34,45,45, 47,23,19,9);

Novamente, o primeiro argumento é o limite de aprovação que definimos para 15.

O trecho de código completo parece:

Função FailCounter (PassingLimit,… Studentmarks)
falhas estudentes = 0;
para (vamos i = 0; i se (estudantes marca [i] FAILSTUDENTES ++;


console.log ("Número de alunos que fizeram o teste:"+ Studentmarks.comprimento);
console.log ("Número de alunos que falharam no teste:"+FAILSTUDENTS);

FailCounter (15,33,23,12,3,5,33,34,23,27,12,3,3,3,11,33,17,19,15,15,23,34,45,45, 47,23,19,9);

Quando você executa o código, você obtém a seguinte saída:

Nosso programa funciona sem problemas e sem nenhum erro, você pode tentar diferentes variações, para que os argumentos também estejam. É isso para o Parâmetros de descanso.

Conclusão

Os parâmetros de repouso são usados ​​para aceitar um número não especificado de argumentos dentro de uma função e, em seguida, poder executar várias operações nesses argumentos. Outros idiomas geralmente não têm esse recurso, é por isso que o JavaScript leva a vantagem. Demos uma olhada no que os parâmetros de descanso estão em detalhes, como eles funcionam e as regras para definir esses parâmetros de descanso, juntamente com possíveis erros que podem ocorrer se essas regras não forem seguidas. Por fim, aprendemos a usar o Descansar parâmetro com um exemplo.