Chiamate multiple di IIFE in JavaScript

Supponiamo che ti venga proposta un'attività complicata: fare più parentesi chiamanti, in questo modo:

javascript(function() {
  // del codice
})()(); // più parentesi chiamanti

Se ci si pensa, diventa ovvio, che in questo caso la chiamata della funzione immediata deve restituire una funzione anonima, in questo modo:

javascript(function() {
  return function() {
    console.log('!');
  };
})()(); // visualizzerà '!'
Задание 1

Completate il seguente codice in modo che la sua esecuzione visualizzi '!':

javascript(function() {
  // del codice
})()()();
Задание 2

Completate il seguente codice in modo che la sua esecuzione visualizzi la somma dei numeri passati come parametri:

javascript(function() {
  // del codice
})(1)(2);
Задание 3

Completate il seguente codice in modo che la sua esecuzione visualizzi la somma dei numeri passati come parametri:

javascript(function() {
  // del codice
})(1)(2)(3);