Come usare le funzioni in TypeScript Guida per principianti

Le funzioni sono un elemento fondamentale in TypeScript, come lo sono in JavaScript. TypeScript estende le funzioni JavaScript con funzionalità aggiuntive come le annotazioni di tipo, che migliorano la chiarezza del codice e prevengono gli errori. Questa guida per principianti ti guiderà attraverso l'uso delle funzioni in TypeScript.

Definizione delle funzioni

In TypeScript è possibile definire funzioni proprio come in JavaScript, ma con annotazioni di tipo facoltative per specificare i tipi di parametri e i valori restituiti.

Definizione della funzione di base

Ecco come definire una semplice funzione in TypeScript:

function greet(name: string): string {
  return "Hello, " + name;
}

In questo esempio, name è un parametro di tipo string e la funzione restituisce un valore di tipo string.

Parametri di funzione e tipi di ritorno

TypeScript consente di specificare i tipi per i parametri della funzione e i valori restituiti, contribuendo a garantire che la funzione venga utilizzata correttamente.

Funzione con parametri

Ecco una funzione che accetta due parametri e restituisce la loro somma:

function add(x: number, y: number): number {
  return x + y;
}

In questa funzione, sia x che y sono di tipo numero e la funzione restituisce numero.

Funzioni senza valore di ritorno

Non tutte le funzioni devono restituire un valore. Le funzioni senza valore di ritorno sono dichiarate con un tipo di ritorno di void. Queste funzioni eseguono azioni ma non producono un risultato.

Nessun esempio di valore di ritorno

function logMessage(message: string): void {
  console.log(message);
}

In questo esempio, logMessage stampa message sulla console ma non restituisce alcun valore.

Parametri facoltativi e predefiniti

TypeScript supporta parametri facoltativi e predefiniti, consentendo di creare funzioni più flessibili.

Parametri facoltativi

I parametri facoltativi vengono specificati aggiungendo ? dopo il nome del parametro:

function greet(name: string, greeting?: string): string {
  if (greeting) {
    return greeting + ", " + name;
  }
  return "Hello, " + name;
}

In questo esempio, greeting è un parametro facoltativo che può essere omesso quando si chiama la funzione.

Parametri predefiniti

I parametri predefiniti hanno un valore predefinito se non viene fornito alcun valore:

function greet(name: string, greeting: string = "Hello"): string {
  return greeting + ", " + name;
}

Se non viene specificato greeting, il valore predefinito è "Hello".

Sovraccarico di funzione

TypeScript supporta il sovraccarico delle funzioni, consentendo di definire più firme di funzione per lo stesso nome di funzione:

function greet(name: string): string;
function greet(name: string, age: number): string;
function greet(name: string, age?: number): string {
  if (age !== undefined) {
    return `Hello, ${name}. You are ${age} years old.`;
  }
  return `Hello, ${name}.`;
}

In questo esempio, greet può essere chiamato con uno o due parametri.

Funzioni freccia

Le funzioni freccia forniscono una sintassi più breve per la scrittura di funzioni e non hanno un proprio contesto this:

const add = (x: number, y: number): number => x + y;

Questo esempio mostra come definire una funzione freccia che somma due numeri.

Conclusione

Le funzioni in TypeScript sono un modo potente per incapsulare e riutilizzare il codice. Utilizzando annotazioni di tipo, parametri opzionali e predefiniti, sovraccarico di funzioni e funzioni freccia, puoi scrivere codice più robusto e gestibile. Comprendere queste basi ti aiuterà a sfruttare appieno le capacità di TypeScript nei tuoi progetti.