FUNCTIONS AS VALUES
Because function names in ECMAScript are nothing more than variables, functions can be used anywhere variables can be used. This means it's possible not only to pass a function into another function as an argument, but also to return a function as the result of another function. Consider the following function:
function callSomeFunction(someFunction, someArgument) {return someFunction(someArgument);}
This function accepts two arguments. The first argument should be a function, and the second argument should be a value to pass to that function. Any function can then be passed in as follows:
function add10(num) {return num + 10;}let result1 = callSomeFunction(add10, 10);console.log(result1); // 20function getGreeting(name) {return "Hello, " + name;}let result2 = callSomeFunction(getGreeting, "Nicholas");console.log(result2); // "Hello, Nicholas"
The callSomeFunction() function is generic...