Как передать функцию в функцию js

Аватар пользователя Ivan Gagarinov
Ivan Gagarinov
04 июля 2022

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

const sayHello = () => {
  console.log('Hello!');
};

const execFunc = (func) => {
  func();
};

execFunc(sayHello); // => Hello!

Частая ошибка, когда новички передают не саму функцию, а вызов функции. Будьте внимательны, при таком подходе, сначала вычислиться то, что мы передаём, затем это значение попадёт в функцию:

const sayHello = () => {
  console.log('Hello!');
};

const execFunc = (func) => {
  func();
};

execFunc(sayHello()); // => TypeError: func is not a function

Ошибка возникает, потому что в функцию execFunc() передаётся не функция, а вызов функции sayHello().

7 0
Познакомьтесь с основами JavaScript бесплатно