Runde Klammern in IIFE in JavaScript

Normalerweise werden für den sofortigen Aufruf einer Funktion anstelle eines Pluszeichens runde Klammern verwendet, da diese Schreibweise als offensichtlicher gilt:

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

Meistens werden die runden Klammern für den Funktionsaufruf außen gesetzt, so wie hier:

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

Bestimmen Sie, ohne den Code auszuführen, was in der Konsole ausgegeben wird:

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

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

Bestimmen Sie, ohne den Code auszuführen, was in der Konsole ausgegeben wird:

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

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

Bestimmen Sie, ohne den Code auszuführen, was in der Konsole ausgegeben wird:

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

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

Bestimmen Sie, ohne den Code auszuführen, was in der Konsole ausgegeben wird:

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

console.log(result());