Ty­pe­Script consente la di­chia­ra­zio­ne di tipi per funzioni, parametri e valori re­sti­tui­ti. In questo modo è possibile rilevare tem­pe­sti­va­men­te gli errori e aumentare la qualità del codice, ve­ri­fi­can­do che siano uti­liz­za­ti i tipi di dati corretti.

Che cosa sono le funzioni di Ty­pe­Script?

Le funzioni di Ty­pe­Script sono un com­po­nen­te centrale del lin­guag­gio di pro­gram­ma­zio­ne Ty­pe­Script. In Ty­pe­Script le funzioni sono simili a quelle in Ja­va­Script, ma pre­sen­ta­no il vantaggio ag­giun­ti­vo della ti­piz­za­zio­ne statica. Con questo sistema i tipi di dati per variabili, parametri e valori re­sti­tui­ti nel codice vengono stabiliti già in fase di pro­get­ta­zio­ne (compile time, ovvero “tempo di com­pi­la­zio­ne” in italiano) e non possono essere mo­di­fi­ca­ti durante l’ese­cu­zio­ne. In questo modo puoi ridurre gli errori nel tuo ambiente di pro­du­zio­ne.

Un’ulteriore ca­rat­te­ri­sti­ca delle funzioni di Ty­pe­Script è la loro fles­si­bi­li­tà. Le funzioni possono avere valori per i parametri standard e opzionali, sem­pli­fi­can­do quindi l’adat­ta­men­to a diversi casi ap­pli­ca­ti­vi. Le pos­si­bi­li­tà di ap­pli­ca­zio­ne com­pren­do­no l’ela­bo­ra­zio­ne dei dati, le in­te­ra­zio­ni con le in­ter­fac­ce utente, la pro­gram­ma­zio­ne asincrona e molto altro ancora. È possibile anche definire dei so­vrac­ca­ri­chi per offrire diverse fun­zio­na­li­tà sulla base dei valori immessi.

Oltre alla di­chia­ra­zio­ne di funzioni, in Ty­pe­Script puoi uti­liz­za­re anche le funzioni freccia, che pre­sen­ta­no una sintassi più breve. Spesso sono uti­liz­za­te in moderne pratiche di sviluppo in Ja­va­Script. Le funzioni di Ty­pe­Script sono quindi un elemento chiave per aumentare la sicurezza e la leg­gi­bi­li­tà del codice nei progetti Ty­pe­Script e offrire al tempo stesso fles­si­bi­li­tà e adat­ta­bi­li­tà per i requisiti più svariati.

La sintassi delle funzioni di Ty­pe­Script

La sintassi delle funzioni di Ty­pe­Script è simile a quella delle funzioni di Ja­va­Script, poiché Ty­pe­Script è un lin­guag­gio superset di Ja­va­Script. Con il termine “superset” si intende che un lin­guag­gio di pro­gram­ma­zio­ne risulta essere un’esten­sio­ne di un altro, in quanto presenta nuove fun­zio­na­li­tà, sintassi o concetti simili, pur rimanendo com­pa­ti­bi­le con il lin­guag­gio da cui deriva. Il codice della funzione segue tra parentesi graffe { }. Al loro interno è im­ple­men­ta­ta la logica vera e propria della funzione. La sintassi generale di una funzione di Ty­pe­Script è la seguente:

function functionName(parameter1: type, parameter2: type): returnType {
    // Function Code
    return result; // (optional)
}
ty­pe­script
  • function: questa parola chiave indica l’inizio della di­chia­ra­zio­ne di funzione.
  • func­tion­Na­me: questo è il nome della funzione. È con­si­glia­bi­le scegliere un nome che descriva l’attività svolta dalla funzione.
  • parameter1, parameter2: i parametri previsti dalla funzione. Ogni parametro è con­trad­di­stin­to dal suo nome e dal tipo di dati previsto (an­no­ta­zio­ne del tipo).
  • re­turn­Ty­pe: il tipo di dati re­sti­tui­to dalla funzione. È anche possibile indicare void se la funzione non re­sti­tui­sce nessun valore.
  • return result: è opzionale e serve se la funzione deve re­sti­tui­re un valore.

Per ri­chia­ma­re le funzioni di Ty­pe­Script si utilizza il nome della funzione seguito dalle parentesi. All’interno delle parentesi devi indicare gli argomenti (valori di im­mis­sio­ne) per la funzione, se questa prevede dei parametri.

functionName(argument1, argument2, ...);
ty­pe­script
Registra il tuo dominio
  • Domain Connect gratuito per una con­fi­gu­ra­zio­ne facile del DNS
  • Cer­ti­fi­ca­to SSL Wildcard gratuito
  • Pro­te­zio­ne privacy inclusa

Esempi di ap­pli­ca­zio­ne delle funzioni di Ty­pe­Script

Le funzioni di Ty­pe­Script sono estre­ma­men­te versatili e per­met­to­no di eseguire calcoli, opzioni e procedure complesse nelle ap­pli­ca­zio­ni.

Funzioni anonime

Le funzioni anonime in Ty­pe­Script sono funzioni senza nome e che sono quindi assegnate di­ret­ta­men­te ad altre funzioni in espres­sio­ni o come argomenti. Risultano utili quando una funzione ti serve soltanto in un punto del codice e non vuoi as­se­gnar­le un nome proprio.

var greet = function(name) {
    return "Hello, " + name + "!";
};
var message = greet("John");
console.log(message); // Output: "Hello, John!"
ty­pe­script

In questo esempio, la funzione anonima è me­mo­riz­za­ta nella variabile greet e ri­chia­ma­ta in seguito per creare un messaggio di benvenuto per­so­na­liz­za­to per il nome John.

Le funzioni anonime com­pren­do­no anche le funzioni lambda, note come funzioni freccia.

const add = (a: number, b: number) => a + b;
const result = add(3, 5); // Output: 8
ty­pe­script

In questo caso, una funzione anonima che esegue l’addizione di due numeri viene assegnata alla variabile add e quindi ri­chia­ma­ta.

Parametri di default

I parametri di default (noti anche come parametri standard o parametri pre­de­fi­ni­ti) in Ty­pe­Script ti con­sen­to­no di definire le funzioni di Ty­pe­Script in modo che abbiano dei valori standard per i parametri. Se la funzione viene ri­chia­ma­ta e non viene assegnato nessun valore per un parametro, al suo posto viene uti­liz­za­to il valore standard.

function greet(name: string = "World") {
    return "Hello, " + name + "!";
}
console.log(greet()); // Output: "Hello, World!"
console.log(greet("John")); // Output: "Hello, John!"
ty­pe­script

Qui la funzione greet ha un valore standard World per il parametro name. Se ri­chia­man­do la funzione non viene assegnato nessun valore per name, viene uti­liz­za­to au­to­ma­ti­ca­men­te il valore standard.

Parametri rest

Con i parametri rest di Ty­pe­Script (noti anche come operatori rest o sintassi a parametri rest) puoi rac­co­glie­re una quantità in­de­fi­ni­ta di argomenti in una funzione sotto forma di array di Ty­pe­Script. Sono utili per scrivere funzioni che devono elaborare una quantità variabile di argomenti.

function sum(...numbers: number[]): number {
    let total = 0;
    for (const num of numbers) {
        total += num;
    }
    return total;
}
console.log(sum(1, 2, 3, 4, 5)); // Output: 15
ty­pe­script

In questo esempio, la funzione sum raccoglie una quantità a piacere di numeri come parametri rest numbers e li somma per calcolare il totale. È possibile assegnare una quantità in­de­fi­ni­ta di numeri a piacere: la funzione prov­ve­de­rà a sommarli tutti.

So­vrac­ca­ri­chi

Le funzioni di Ty­pe­Script con so­vrac­ca­ri­chi (function overload) servono a definire più di­chia­ra­zio­ni di funzione con lo stesso nome, ma con tipi di parametro o re­sti­tu­zio­ne dif­fe­ren­ti. In questo modo, Ty­pe­Script è in grado di se­le­zio­na­re la giusta di­chia­ra­zio­ne di funzione e di eseguire i controlli del tipo au­to­ma­ti­ca­men­te a seconda degli argomenti assegnati.

function concatenate(a: string, b: string): string;
function concatenate(a: number, b: number): string;
function concatenate(a: any, b: any): string {
    return a.toString() + b.toString();
}
console.log(concatenate("Hello, ", "World")); // Output: "Hello, World"
console.log(concatenate(3, 5)); // Output: "35"
ty­pe­script

L’esempio pre­ce­den­te mostra due so­vrac­ca­ri­chi di funzioni per concatenate. Il primo accetta due catene di caratteri, mentre il secondo accetta due numeri. L’im­ple­men­ta­zio­ne vera e propria della funzione converte gli argomenti assegnati in catene di caratteri e le concatena fra loro. Ty­pe­Script sceglie au­to­ma­ti­ca­men­te il so­vrac­ca­ri­co adatto in base agli argomenti assegnati ed esegue i necessari controlli del tipo.

I so­vrac­ca­ri­chi di funzioni sono par­ti­co­lar­men­te indicati per svi­lup­pa­re un’API o una libreria per le quali desideri as­si­cu­rar­ti che l’utilizzo della funzione sia facile e senza errori, in­di­pen­den­te­men­te dai diversi tipi di parametri che possono essere forniti dagli utenti.

Vai al menu prin­ci­pa­le