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

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

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

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

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

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

`test(); // выведет ошибку в консоль, значит Function Expression let test = function() { console.log('!'); }`

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

`func(); // выведет '!', значит Function Declaration function func() { console.log('!'); }`

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

`func(); // выведет ошибку в консоль, значит Function Expression +function func() { console.log('!'); }`

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

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

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

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

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

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

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

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

`function func() { console.log('!'); }`
← →
↑
en ru