Kulaté závorky v IIFE v JavaScriptu

Obvykle se při volání funkce na místě místo plusu používají kulaté závorky, protože tento způsob zápisu je považován za zjevnější:

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

Nejčastěji se kulaté závorky volání funkce umisťují vně, takto:

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

Určete, bez spuštění kódu, co se vypíše do konzole:

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

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

Určete, bez spuštění kódu, co se vypíše do konzole:

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

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

Určete, bez spuštění kódu, co se vypíše do konzole:

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

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

Určete, bez spuštění kódu, co se vypíše do konzole:

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

console.log(result());