Panggilan Berganda IIFE dalam JavaScript

Misalkan Anda diberikan tugas yang rumit: membuat beberapa tanda kurung panggilan, seperti ini:

javascript(function() {
  // kode tertentu
})()(); // beberapa tanda kurung panggilan

Jika dipikir-pikir, menjadi jelas, bahwa dalam kasus ini, panggilan fungsi di tempat harus mengembalikan fungsi anonim, seperti ini:

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

Lengkapi kode berikut sehingga saat dijalankan menampilkan '!':

javascript(function() {
  // kode tertentu
})()()();
Задание 2

Lengkapi kode berikut sehingga saat dijalankan menampilkan jumlah angka yang diberikan sebagai parameter:

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

Lengkapi kode berikut sehingga saat dijalankan menampilkan jumlah angka yang diberikan sebagai parameter:

javascript(function() {
  // kode tertentu
})(1)(2)(3);