Как проверить тип функции в 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('!');
}