Parâmetros de funções retornadas em JavaScript

É possível passar parâmetros para as chamadas de funções que estudamos. No exemplo a seguir, a função interna espera uma string como parâmetro e a exibe no console:

javascriptfunction func() {
  return function(str) {
    return str;
  };
}

A função interna corresponde ao segundo par de parênteses na chamada, portanto, é neste segundo par de parênteses que passamos a string desejada:

javascriptfunction func() {
  return function(str) {
    return str;
  };
}

console.log( func()('!') ); // exibirá '!'

Vamos fazer com que tanto a primeira função quanto a segunda recebam um parâmetro. E que o resultado da chamada seja a soma desses parâmetros:

javascriptfunction func(num1) {
  return function(num2) {
    return num1 + num2;
  };
}

console.log( func(1)(2) ); // exibirá 3
Задание 1

Crie uma função func que, quando chamada assim: func(2)(3)(4), retorne a soma dos números passados como parâmetros.

Задание 2

Crie uma função func que, quando chamada assim: func(2)(3)(4)(5)(), retorne um array dos números passados como parâmetros.