В любом языке программирования функции называются гражданами первого класса, если функции в этом языке обрабатываются так же, как и переменные в этом языке.

Мы знаем, что переменные в любом языке могут быть

  1. Присваивается другой переменной.
  2. Может передаваться в качестве аргументов некоторым функциям.
  3. Может быть возвращено из любой функции.

Теперь давайте посмотрим на функции javascript:

  1. Назначение функций переменным:

вар а = функция (а, б) {

вернуть а+б;

}

console.log(а(2,3));

// вывод: 5

Здесь вы можете заметить, что мы присвоили a анонимную функцию, точно так же, как присваиваем переменную другой переменной.

2. Передача функций в качестве аргументов другим функциям:

var question=function(){
return «Какой лучший язык программирования?»;
}
var tweet=function(quest){
console.log(quest(), «JavaScript — лучший язык программирования»);
}
tweet(question);

//вывод: Какой язык программирования лучший? JavaScript — лучший язык программирования

Здесь вы можете заметить, что мы передали функцию «вопрос» в качестве аргумента функции tweet, точно так же, как передали переменную в качестве аргумента любой функции. Более того, этот способ передачи функции другой функции называется обратным вызовом, а переданная функция будет функцией обратного вызова (вопрос здесь).

3. Возврат функции из другой функции:

вар квадрат = функция (а) {

console.log(`Квадрат числа ${a} равен`);

функция возврата () {

вернуть а*а;

}

}

вычисление переменной = квадрат (5);

console.log(расчет());

//выход:

Квадрат числа 5
25

Здесь вы можете заметить, что Square(5) вызывает анонимную функцию, назначенную квадрату, которая затем напечатает «Квадрат числа 5 есть» и вернет анонимную функцию для вычисления переменной. При вызове этого вычисления, чтобы получить вывод как 25.

Итак, здесь нам удалось вернуть функцию из другой функции и даже успешно вызвать ее.

Таким образом, все три пункта, присваивание переменным, передача функций в качестве аргументов и возврат из функций, будут работать для функций в javascript. Итак, говорят, что javascript имеет первоклассные функции.