JavaScript (JS) – это облегченный, интерпретируемый или компилируемый по принципу "точно в срок" язык программирования. Это один из самых известных языков сценариев для веб-страниц. Это полноценный динамический язык программирования, добавляющий интерактивности вашему сайту.

Одна из самых динамичных функций Javascript — это первоклассные функции.

Функции первого класса в языке программирования — это функции, которые обрабатываются так же, как и любая другая переменная в этом языке. Это означает, что функция может быть легко назначена как значение переменной, может быть передана в качестве аргумента другой функции и может быть возвращена другой функцией и т. д.,

Давайте разберем все сценарии на примере: -

Назначить функцию переменной

var func = function() {
  console.log(“Welcome to javascript world”);
}

Как мы видим, мы присваиваем переменной функцию без имени, называемую анонимной функцией.

Примечание. Эту функцию можно вызвать, используя имя переменной, добавив в конце круглую скобку (). В нашем случае это как func().

Передать функцию в качестве аргумента

function sayWelcome() {
  return “Welcome”;
}
function greetings(welcome, name) {
  console.log(welcome() + “ “ + name);
}
greetings(sayWelcome, “Sureify People”);

Как мы видим, здесь мы передаем function, то есть sayWelcome, в качестве аргумента другому function, то есть greetings.

Примечание. function, которое мы передаем в качестве аргумента другому function, называется callback function. В нашем случае sayWelcome это callback function.

Вернуть функцию

Мы можем вернуть функцию двумя способами:

Возвращая function без имени (anonymous function)

Пример:-

function parent() {
  return function() {
    console.log(“Welcome to js world”);
  }
}

Возвращая function с именем.

Пример:-

function parent() {
  return function child() {
    console.log(“Welcome to js world”);
  }
}

Теперь важно, как вызвать эту функцию.

Итак, эту функцию можно вызвать двумя способами.

С помощью переменной.

const callParent = parent ();
callParent();

Здесь мы используем имя переменной callParent для вызова функции function.

Примечание. Вы должны использовать другой variable. Если бы вы вызвали parent напрямую, он вернул бы сам function, не вызывая возвращенный function.

Используя двойные скобки.

callParent()();

Мы также можем использовать двойные скобки ()() для вызова возвращаемого function.

Примечание. В приведенном выше примере parentfunction является функцией высшего порядка.

Для справки найдите термины,использованные выше: –

Анонимная функция. Функция не имеет имени или функция без имени называется анонимной функцией.

Функция обратного вызова. Функция обратного вызова — это функция,переданная в другую функцию в качестве аргумента, которая затем вызывается внутри внешней или родительской функции для выполнения какой-либо процедуры или действия.

Функция высшего порядка (HOC). Функция, возвращающая функцию, называется функцией высшего порядка.

Об авторе
Навнит Чаудхари (Navnit Chaudhary) — фронтенд-разработчик с 6-летним опытом работы в ИТ-индустрии. Он присоединился к Sureify в качестве ведущего инженера-программиста. Любит смотреть веб-сериалы, фильмы, крикет.
LinkedIn