Давайте пройдем общие жаргоны, используемые в JS.
Что такое функциональное утверждение и выражение функции?
//function statement function statement() { console.log('statement') } //function expression var expression = function () { console.log('expression'); }
В чем разница между объявлением функции как выражение против оператора?
Основное отличие между декларирующими функциями таким образом поднимается.
statement(); // prints 'statement' expression(); // TypeError: expression is not a function function statement() { console.log('statement') } var expression = function () { console.log('expression'); }
Когда JS распределяет память, он копирует всю функцию, когда она объявлена как утверждение. Но JS назначает значение undefined Для переменных, поэтому JS не распознает функциональные выражения как функции.
Что такое анонимная функция в JS?
Анонимные функции – это функции без имени. Если вы объявите функцию без имени, он возвращает синтаксисную ошибку. Анонимные функции используются, когда функции используются в качестве значений. В приведенном выше примере экспрессия функции использует анонимную функцию, в которой функция представляет собой значение и имеет имя.
function () {} // this in itself returns SyntaxError;
Каковы функции первого класса в JS?
Первый класс – это возможность использовать функции в качестве значений, аргументов и возвращаемых значений.
Оригинал: “https://dev.to/jokim/what-are-first-class-functions-in-js-1h8c”