La manera mas simple de describir una funci贸n es como una funci贸n que opera como un tipo de expresi贸n. Estos tipos son sint谩ticamente como funciones de flecha (arrow functions).
function saludar(fn: (a: string) => void) {
fn("Hola Mundo");
}
function imprimirEnConsola(s: string) {
console.log(s);
}
saludar(imprimirEnConsola);
En el anterior ejemplo la funci贸n saludar recibe el par谩metro fn
es una funci贸n (a: string) => null
que recibe un string
y retorna null
, y esta se env铆a y cuya invocaci贸n se realiza dentro de la funci贸n que la recibe fn("Hola Mundo")
, que a su ves pasa el argumento "Hola Mundo"
.
Si deseamos hacer el ejemplo anterior mas entendible podemos hacer uso de un alias que nos permite encapsular los par谩metros dentro de ella.
type Fn = (a: string) => void;
function saludar(fn: Fn) {
fn("Hola Mundo");
}
function imprimirEnConsola(s: string) {
console.log(s);
}
saludar(imprimirEnConsola);