Присваивание функции в переменную в JavaScript

Пусть теперь наша вызываемая на месте функция не выводит что-то в консоль, а возвращает через return:

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

Давайте присвоим результат работы нашей функции в переменную и выведем его в консоль. Так как в данном случае идет присваивание в переменную, то плюс уже не нужен:

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

console.log(result); // выведет '!'
Задание 1

Определите, не запуская код, что выведется в консоль:

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

Определите, не запуская код, что выведется в консоль:

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

Определите, не запуская код, что выведется в консоль:

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