Parámetros de funciones retornadas en JavaScript

A las llamadas de funciones que hemos estudiado se les puede pasar parámetros. En el siguiente ejemplo, la función interna espera un parámetro de tipo cadena y lo muestra en la consola:

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

La función interna corresponde al segundo paréntesis en la llamada, lo que significa que en este segundo paréntesis pasamos la cadena deseada:

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

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

Hagamos que tanto la primera función acepte un parámetro, como la segunda. Y que el resultado de la llamada sea la suma de estos parámetros:

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

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

Crea una función func que, al ser llamada así: func(2)(3)(4), retorne la suma de los números pasados como parámetros.

Задание 2

Crea una función func que, al ser llamada así: func(2)(3)(4)(5)(), retorne un array de los números pasados como parámetros.