TypeScript estende JavaScript introducendo un sistema di tipi statico. Tra le funzionalità più utili troviamo le interfacce, che permettono di definire la struttura di oggetti in modo chiaro e riutilizzabile.

Cos'è un'interfaccia

Un'interfaccia in TypeScript definisce la forma di un oggetto, specificando le proprietà e i tipi associati. Non viene convertita in JavaScript, ma serve esclusivamente a livello di sviluppo per garantire la correttezza del codice.

interface Person {
  name: string;
  age: number;
  job?: string; // proprietà opzionale
}

Utilizzo di un'interfaccia

Le interfacce possono essere utilizzate per tipizzare variabili, parametri di funzione o il valore di ritorno.

const student: Person = {
  name: "Luca",
  age: 22
};
function hello(person: Person): void {
  console.log(`Ciao, ${person.name}`);
}

Estensione delle interfacce

Un'interfaccia può estendere una o più interfacce per creare una struttura più complessa.

interface Worker extends Person {
  company: string;
}
const employee: Worker = {
  name: "Giulia",
  age: 30,
  company: "TechCorp"
};

Interfacce con funzioni

Le interfacce possono anche descrivere il tipo di una funzione.

interface Calculator {
  (a: number, b: number): number;
}
const sum: Calculator = (x, y) => x + y;

Conclusione

Le interfacce sono uno strumento fondamentale in TypeScript per scrivere codice chiaro, scalabile e sicuro. Aiutano a descrivere contratti tra le varie parti dell'applicazione, facilitando la manutenzione e lo sviluppo collaborativo.