/
Вопросы и ответы
/
JavaScript
/

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

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

4 года назад

Человек-Молекула

Ответы

7

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

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().

3 года назад

Ivan Gagarinov