0Pricing
TypeScript Academy · Lezione

Definizione della struttura degli oggetti con le interfacce

Utilizzi interface per descrivere la struttura degli oggetti.

Definizione della struttura degli oggetti con le interfacce è una lezione TypeScript Academy gratuita su CoddyKit. Questa è la lezione 1 di 4. Puoi leggere la lezione completa qui gratuitamente — poi esercitati direttamente nel browser con un editor di codice integrato e un tutor IA disponibile 24/7. Fa parte del percorso di apprendimento TypeScript Academy, e i tuoi progressi si sincronizzano tra il web e l'app CoddyKit. Il corso TypeScript Academy include 4 lezioni in totale.

Benvenuto

Le interfacce descrivono la forma degli oggetti in TypeScript. Definiscono quali proprietà esistono, i relativi tipi e se sono facoltative o readonly.

Interfaccia di base

Definisca un'interfaccia con la parola chiave `interface`, seguita dai nomi delle proprietà e dai relativi tipi.
interface User {
  id: number;
  name: string;
  email: string;
}
const alice: User = { id: 1, name: 'Alice', email: 'a@b.com' };

Proprietà facoltative con ?

Contrassegni le proprietà come facoltative con `?`. Una proprietà facoltativa può essere presente o assente.
interface Config {
  host: string;
  port?: number;     // optional
  timeout?: number;  // optional
}

Proprietà readonly

Le proprietà readonly possono essere impostate una volta, al momento della creazione, ma non possono essere modificate in seguito.
interface Point {
  readonly x: number;
  readonly y: number;
}
const p: Point = { x: 5, y: 10 };
// p.x = 0; // Error!

Firme dei metodi

Le interfacce possono includere firme di metodi che descrivono la struttura della funzione.
interface Animal {
  name: string;
  speak(): string;
  move(distance: number): void;
}

Firme di indice

Utilizzi una firma di indice quando l'oggetto ha chiavi dinamiche di un tipo specifico.
interface StringMap {
  [key: string]: string;
}
const headers: StringMap = {
  'content-type': 'application/json',
  'accept': 'text/html',
};

Tipizzazione strutturale

TypeScript utilizza la tipizzazione strutturale: un oggetto soddisfa un'interfaccia purché disponga delle proprietà obbligatorie, indipendentemente dal modo in cui è stato creato.
interface Named { name: string; }
function greet(obj: Named) { console.log(obj.name); }
greet({ name: 'Alice', age: 30 }); // Extra props OK when not a literal

Controllo delle proprietà in eccesso

TypeScript segnala un errore quando un literal oggetto contiene proprietà aggiuntive non presenti nell'interfaccia. Questo è il controllo delle proprietà in eccesso.
interface Config { host: string; }
// const c: Config = { host: 'localhost', extra: 1 }; // Error on literal
const obj = { host: 'localhost', extra: 1 };
const c: Config = obj; // OK — not a fresh literal

Interfaccia per i tipi funzione

Le interfacce possono descrivere tipi chiamabili con una firma di chiamata.
interface Greeter {
  (name: string): string;
}
const greet: Greeter = name => 'Hello, ' + name;

Interfacce annidate

Le proprietà possono fare riferimento ad altre interfacce per creare forme di oggetti annidate.
interface Address { street: string; city: string; }
interface Person { name: string; address: Address; }
const p: Person = { name: 'Alice', address: { street: '1 Main', city: 'NY' } };

Interfaccia e istanza di una classe

Le interfacce descrivono la forma pubblica di una classe, ma vengono rimosse a runtime. La classe fornisce l'implementazione.
interface Saveable { save(): Promise<void>; }
class UserService implements Saveable {
  async save() { /* ... */ }
}

Verifica rapida

Che cosa accade quando si assegna a un tipo interfaccia un literal oggetto con una proprietà aggiuntiva in TypeScript?

Riepilogo

Le interfacce definiscono forme di oggetti con proprietà tipizzate, modificatori facoltativi/readonly, firme di metodi e firme di indice. TypeScript utilizza la tipizzazione strutturale: conta la compatibilità della forma, non le dichiarazioni.

Domande Frequenti

La lezione «Definizione della struttura degli oggetti con le interfacce» è gratuita?

Sì — il testo completo di «Definizione della struttura degli oggetti con le interfacce» è gratuito qui sul web. Per esercitarvi in modo interattivo (un editor di codice integrato e un tutor IA 24/7) e sbloccare il resto del corso TypeScript Academy, passa a CoddyKit PRO. Il corso TypeScript Academy include 4 lezioni in totale.

Cosa imparerò in «Definizione della struttura degli oggetti con le interfacce»?

Utilizzi interface per descrivere la struttura degli oggetti. Eserciti TypeScript Academy con codice pratico che esegui direttamente nel browser, e un tutor IA 24/7 risponde alle tue domande mentre lavori sulla lezione.

Ho bisogno di esperienza per iniziare TypeScript Academy?

Non è richiesta alcuna esperienza precedente. TypeScript Academy su CoddyKit è strutturato per principianti e studenti avanzati, quindi puoi iniziare da qui o dall'inizio e procedere al tuo ritmo. Questa è la lezione 1 di 4.

Quanto tempo richiede la lezione «Definizione della struttura degli oggetti con le interfacce»?

La maggior parte delle lezioni CoddyKit richiede circa 5–10 minuti. Ogni lezione è breve e interattiva, quindi fai progressi costanti e riprendi esattamente da dove hai lasciato su web e app.

Posso scrivere ed eseguire codice in questa lezione TypeScript Academy?

Sì. Ogni lezione TypeScript Academy include un editor di codice integrato, quindi scrivi ed esegui codice reale direttamente nel tuo browser e ricevi feedback istantaneo dall'IA — nessuna configurazione locale necessaria.

Tutte le lezioni di questo corso

  1. Definizione della struttura degli oggetti con le interfacce
  2. Alias di tipo per tipi complessi
  3. Estensione e fusione delle interfacce
  4. Interface o type: quando usare ciascuno
← Torna a TypeScript Academy