Guida Typescript
Capitolo 5° - Subtyping strutturale
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.
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
|