Как проверить тип функции в JavaScript

В задачах ниже вам нужно будет определить функция определена как Function Declaration или Function Expression.

В простых случаях это не составляет труда сделать визуально. Но как проверить, что вы сделали это правильно? Используйте разницу между Function Declaration или Function Expression: первые могут быть вызваны выше своего определения, а вторые - нет.

Пусть у нас есть вот такая функция:

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

Обратимся к этой функции до ее определения:

javascripttest(); // выведет ошибку в консоль, значит Function Expression

let test = function() {
  console.log('!');
}

Вот еще пример:

javascriptfunc(); // выведет '!', значит Function Declaration

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

Поставим перед нашей функцией плюсик:

javascriptfunc(); // выведет ошибку в консоль, значит Function Expression

+function func() {
  console.log('!');
}

Так как функция выше - это Function Expression и она не присвоена никакой переменной, то ее никак не вызвать, ведь по имени func она будет недоступна.

Задание 1

Определите, является ли представленная функция Function Declaration или Function Expression:

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

Определите, является ли представленная функция Function Declaration или Function Expression:

javascriptconsole.log(
  function func() {
    console.log('!');
  }
);
Задание 3

Определите, является ли представленная функция Function Declaration или Function Expression:

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

Определите, является ли представленная функция Function Declaration или Function Expression:

javascriptfunction func() {
  console.log('!');
}