I'm getting really excited about TypeScript. How do you set the type of a function parameter?
function twoMoreThanYou(calculateANumber: Function):number { return calculateANumber(4) + 2; } function double(n:number):number { return n*2; } console.log("TWO MORE", twoMoreThanYou(double))
How can I type calculateANumber
better? I'd like to specify that it must be a function that takes a number and returns a number.
Can I then make an "interface" or some shorthand for that type so I can make my higher order function signatures more readable?
A high order function is a function that can return another function, or you can pass a function as an argument, let's see this easy example: const laser = (intensity: number, f: Function ):string => `${intensity + f()}`console. log(laser(2, () => ' volts! ' )) // "2 volts!" Example High order function In TypeScript.
setInterval and setTimeout are two of the higher order functions in Javascript.
Higher-Order Functions(HoF) and Callback Functions(CB) are different. Higher-Order Functions(HoF): A function that takes another function(s) as an argument(s) and/or returns a function as a value. Callback Functions(CB): A function that is passed to another function.
These both work
interface NumberFunction extends Function { (n:number):number; } function twoMoreThanYou(calculateANumber: (n:number)=>number):number { ... } function twoMoreThanYou(calculateANumber: NumberFunction):number { ... }
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With