How to use higher-order functions in TypeScript

2 Answers

0 votes
// A higher‑order function is a function that does at least one of the following:
// 1. Takes another function as an argument
// 2. Returns a function as its result
// If it does either one, it qualifies.
 
// Higher-order function: takes a function as an argument
function applyTwice(fn: (x: number) => number, x: number): number {
    return fn(fn(x));
}
 
// A simple function to pass in
function add3(n: number): number {
    return n + 3;
}
 
// Use the higher-order function
const result: number = applyTwice(add3, 5); // 5 + 3 = 8 + 3 = 11
 
console.log(result);
 
 
 
/*
run:
 
11
 
*/

 



answered Jun 4 by avibootz
0 votes
// A higher‑order function is a function that does at least one of the following:
// 1. Takes another function as an argument
// 2. Returns a function as its result
// If it does either one, it qualifies.

// makeMultiplier is a higher‑order function because it RETURNS another function
function makeMultiplier(n: number): (x: number) => number {

    // This inner function forms a closure and remembers the value of n
    return function (x: number): number {
        return x * n; // Uses the captured value n
    };
}

// double_val is now a function created by makeMultiplier(2)
// It remembers n = 2 through closure
const double_val = makeMultiplier(2);

// Calling double_val(10) multiplies 10 by the captured n (which is 2)
console.log(double_val(10));



/*
run:

20

*/

 



answered Jun 4 by avibootz
...