Questo sito utilizza cookies, anche di terze parti, per mostrare pubblicità e servizi in linea con il tuo account. Leggi l'informativa sui cookies.
Username: Password: oppure
Guida Typescript - Subtyping strutturale

Guida Typescript

Capitolo 5° - Subtyping strutturale

<< Precedente Prossimo >>

I tipi object vengono confrontati strutturalmente. Si prenda in considerazione questo codice:

interface Point { 
 x: number; 
 y: number; 
} 

function getX(p: Point) { 
 return p.x; 
}

class CPoint { 
 x: number; 
 y: number; 
 constructor(x: number, y: number) { 
   this.x = x; 
   this.y = y; 
 } 
} 

getX(new CPoint(0, 0)); // Ok, i campi corrispondono
getX({ x: 0, y: 0, color: "red" }); // Campi aggiuntivi non sono un problema, Ok
getX({ x: 0 }); // Errore: i campi non corrispondono

La classe 'CPoint' si abbina all'interfaccia 'Point' siccome 'CPoint' ha tutti i membro richiesti di 'Point'. Opzionalmente una classe può dichiarare il fatto che implementa un'interfaccia, così che il compilatore possa controllare la sua dichiarazione per compatibilità strutturale, ma non è richiesto.

<< Precedente Prossimo >>
A proposito dell'autore

E' un appassionato di programmazione con un particolare interesse per le tecnologie web e mobile. Da 11 anni gestisce il sito pierotofy.it e lavora negli Stati Uniti come consulente informatico tramite la sua azienda, MasseranoLabs LLC. Seguilo su Twitter: @pierotofy