𝗜𝗻𝘁𝗿𝗼𝗱𝘂𝘇𝗶𝗼𝗻𝗲 𝗮𝗶 𝘁𝗶𝗽𝗶 𝗱𝗶 𝗳𝘂𝗻𝘇𝗶𝗼𝗻𝗲 𝗶𝗻 𝗧𝘆𝗽𝗲𝗦𝗰𝗿𝗶𝗽𝘁
TypeScript richiede tipi per tutto. Questo include le tue funzioni. Devi definire i tipi per gli input e gli output.
Sintassi delle funzioni
Definisci i tipi di input e un tipo di output in questo modo:
function add(x: number, y: number): number { return x + y; }
TypeScript utilizza anche l'inferenza dei tipi. Non è sempre necessario scrivere il tipo di output. Il compilatore lo trova per te.
Se la tua funzione restituisce tipi diversi, TypeScript lo gestisce. Ad esempio, se una funzione restituisce un numero o una stringa, il compilatore li rileva entrambi.
Tipi di ritorno speciali
- void: Usalo quando una funzione non restituisce nulla.
- never: Usalo quando una funzione lancia un errore o interrompe il programma.
Parametri
Puoi rendere i parametri opzionali utilizzando un punto interrogativo.
function makeProfile(name: string, age: number, url?: string) { // code }
Puoi anche utilizzare dei valori predefiniti. Questo rende un parametro opzionale senza l'uso di simboli speciali.
function makeProfile(name: string, age: number, url: string = "www.example.com") { return name + " visits " + url; }
Funzioni di callback
Le funzioni sono valori. Puoi passarle come argomenti. Per definire un tipo di callback, usa questa sintassi:
function makePage(func: (n: string, a: number, u?: string) => string, param1: string, param2: number) { func(param1, param2); }
I nomi dei parametri nella callback non contano. Contano solo i tipi.
Array di funzioni
Se hai bisogno di un elenco di funzioni, definiscile come un array di quel tipo di funzione.
function applyMath(funcs: ((a: number, b: number) => number)[], x: number, y: number) { // code }
Parametri rest
Usa l'operatore spread per accettare un numero qualsiasi di argomenti. Questo memorizza tutti gli input in un array.
function sum(...numbers: number[]) { // code }
sum(1, 2, 3);
Fonte: https://dev.to/jsha/introduction-to-typescript-function-types-hin