Atribuição de função a uma variável em JavaScript

Suponha que agora nossa função invocada imediatamente não imprima algo no console, mas retorne via return:

javascript+function() {
  return '!';
}();

Vamos atribuir o resultado da nossa função a uma variável e imprimi-lo no console. Como neste caso há uma atribuição a uma variável, o sinal de mais já não é necessário:

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

console.log(result); // exibirá '!'
Задание 1

Determine, sem executar o código, o que será exibido no console:

javascriptlet result = function() {
  return '!';
}();
    
console.log(result);
Задание 2

Determine, sem executar o código, o que será exibido no console:

javascriptlet result = function() {
  return '!';
};
    
console.log(result);
Задание 3

Determine, sem executar o código, o que será exibido no console:

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