Les types de fonctions décrivent les paramètres et la valeur de retour d'une fonction : paramètres optionnels (?), valeurs par défaut, paramètres du reste, et type de retour. Une signature de fonction peut aussi être nommée par un alias, ce qui permet de typer des callbacks et de vérifier chaque appel.
Exemple
type Comparateur = (a: number, b: number) => number;
function saluer(nom: string, titre?: string): string { return `Bonjour ${titre ?? ''} ${nom}`; }