Appels multiples de IIFE en JavaScript

Supposons que l'on vous propose un problème délicat : faire plusieurs parenthèses d'appel, comme ceci :

javascript(function() {
  // du code
})()(); // plusieurs parenthèses d'appel

Si on y réfléchit, il devient évident que dans ce cas, l'appel de la fonction immédiate doit retourner une fonction anonyme, comme ceci :

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

Complétez le code suivant pour que son exécution affiche '!' :

javascript(function() {
  // du code
})()()();
Задание 2

Complétez le code suivant pour que son exécution affiche la somme des nombres passés en paramètres :

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

Complétez le code suivant pour que son exécution affiche la somme des nombres passés en paramètres :

javascript(function() {
  // du code
})(1)(2)(3);