В этом материале мы поговорим об использовании function expression в платформе NodeJS .

NodeJS. Как работают Function Expression.

В этом материале мы поговорим об использовании function expression в платформе NodeJS.

В будущих статьях мы будем говорить о модулях, ведь модули – это очень важная часть всей платформы. Однако они очень активно используют function expression и именно по этой причине мы сейчас вкратце разберем, как все работает, чтобы у вас в будущем не было проблем с пониманием работы модулей.

Давайте рассмотрим самую что ни на есть обычную функцию:

function sayHi() {
  console.log('Hello, world!');
}

sayHi();

У этой функции есть название, дальше код, который будет выполнен при вызове функции. Думаю, тут пояснять нечего. Если вы запустите эту функцию в NodeJS, то увидите надпись, написанную в круглых скобках.

Теперь рассмотрим function expression:

var sayHi = function() {
  console.log('Hello, world!'');
};

sayHi();

Думаю, вы заметили, что тут есть некоторые отличия. Во-первых, функция теперь стала анонимной, т.к. у нее нет имени после ключевого слова function. Чтобы иметь возможность ее вызывать и чтобы она не была сразу уничтожена после запуска кода, мы присваиваем ее переменной с каким-нибудь названием. Именно это название мы дальше и используем, чтобы сослаться на функцию. Заметьте, это уже не имя функции, а имя переменной, которая хранит ссылку на функцию, поскольку функция – это обычный объект.

Теперь рассмотрим функцию, принимающую другую функцию в аргументе:

function call(func) {
  func();
}

var sayHi() = function() {
  console.log('Hello, world!');
};

call(sayHi);

Что происходит здесь? Мы создаем функцию, которая в качестве аргумента принимает другую функцию, которую и вызывает. Вот тут нам и пригодилась function expression.

А у меня на этом все. Спасибо за внимание!