Tanda Kurung dalam IIFE di JavaScript

Biasanya, apabila memanggil fungsi serta-merta, tanda kurung digunakan menggantikan tanda tambah, kerana cara ini dianggap lebih jelas:

javascript(function() {
  console.log('!');
}());

Selalunya, tanda kurung untuk memanggil fungsi diletakkan di luar, seperti ini:

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

Tentukan, tanpa menjalankan kod, apakah yang akan dipaparkan dalam konsol:

javascriptlet result = (function() {
  return '!';
}());

console.log(result);
Задание 2

Tentukan, tanpa menjalankan kod, apakah yang akan dipaparkan dalam konsol:

javascriptlet result = (function() {
  return '!';
})();

console.log(result);
Задание 3

Tentukan, tanpa menjalankan kod, apakah yang akan dipaparkan dalam konsol:

javascriptlet result = (function() {
  return '!';
});

console.log(result);
Задание 4

Tentukan, tanpa menjalankan kod, apakah yang akan dipaparkan dalam konsol:

javascriptlet result = (function() {
  return '!';
});

console.log(result());