2
respostas

Rest parametrs em javascript

Hola! seria igual o Rest parametrs, em javaScript ?

Matricule-se agora e aproveite até 50% OFF

O maior desconto do ano para você evoluir com a maior escola de tecnologia

QUERO APROVEITAR
2 respostas

Olá, Flávio!

No JavaScript, o conceito de rest parameters é semelhante ao de variadic functions em Go. Ambos permitem que uma função receba um número indeterminado de parâmetros.

No JavaScript, os rest parameters são representados pelo uso de três pontos antes do nome do parâmetro, como no exemplo a seguir:

function somando(...numeros) {
  let resultadoDaSoma = 0;
  for (let numero of numeros) {
    resultadoDaSoma += numero;
  }
  return resultadoDaSoma;
}

console.log(somando(1)); // 1
console.log(somando(1, 1)); // 2
console.log(somando(1, 1, 1)); // 3
console.log(somando(1, 1, 2, 4)); // 8

No código acima, a função somando recebe uma quantidade indeterminada de parâmetros e realiza a soma de todos eles.

Já em Go, as variadic functions são criadas precedendo o tipo do argumento com reticências, como no exemplo a seguir:

func somando(numeros ...int) int {
  resultadoDaSoma := 0
  for _, numero := range numeros {
    resultadoDaSoma += numero
  }
  return resultadoDaSoma
}

fmt.Println(somando(1)) // 1
fmt.Println(somando(1, 1)) // 2
fmt.Println(somando(1, 1, 1)) // 3
fmt.Println(somando(1, 1, 2, 4)) // 8

Perceba que a declaração do parâmetro numeros utiliza as reticências: numeros ...int.

Portanto, tanto no JavaScript quanto em Go, é possível criar funções que recebem uma quantidade indeterminada de parâmetros.

Espero ter ajudado e bons estudos!

thanks