馃 Funciones como expresiones

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);