Paranteze rotunde în IIFE în JavaScript

De obicei, la apelarea unei funcții imediate, în loc de plus se folosesc paranteze rotunde, deoarece acest mod de formatare este considerat mai evident:

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

Cel mai adesea, parantezele de apel al funcției se plasează în exterior, astfel:

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

Stabiliți, fără a rula codul, ce se va afișa în consolă:

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

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

Stabiliți, fără a rula codul, ce se va afișa în consolă:

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

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

Stabiliți, fără a rula codul, ce se va afișa în consolă:

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

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

Stabiliți, fără a rula codul, ce se va afișa în consolă:

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

console.log(result());