Как передать функцию в функцию js
Ответы
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()
.
6
0