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 - Tipizzazione contestuale

Guida Typescript

Capitolo 6° - Tipizzazione contestuale

<< Precedente Prossimo >>

Solitamente Typescript procede dal basso verso l'alto quando deve dedurre il tipo di un'espressione (in termini dell'albero d'espressioni, dalle foglie verso la radice). Ad esempio:

function mul(a: number, b: number) { 
 return a * b; 
}

Typescript deduce che il tipo di ritorno di questa funzione è 'number', siccome il risultato di a * b è anche esso 'number', siccome a e b sono entrambi 'number'.

Per quelle variabili e quei parametri che non hanno un tipo annotato, oppure un valore di default, Typescript deduce che il tipo di ritorno è 'any' (qualsiasi).

In alcuni casi limitati, il processo di deduzione procede invece dall'alto verso il basso nel contesto di un'espressione. Quando questo succede, il processo è chiamato "tipizzazione contestuale". La tipizzazione contestuale aiuta gli strumenti dell'editor (autocompletamento, analizzatore statico, ecc.), fornendo al programmatore informazioni utili. Ad esempio, con jQuery, quando il programmatore fornisce una funzione come secondo parametro al metodo 'get', mentre si digita l'espressione gli strumenti possono supporre che il tipo della funzione è dato dalla firma di 'get'.

$.get("http://mysite.org/divContent", 
 function (data) { 
 $("div").text(data); // Typescript deduce che data è di tipo string 
 } 
); 

La tipizzazione contestuale è anche utile per specificare dei letterati object. Così come il programmatore digita il letterato object, il tipo contestuale fornisce informazioni che permettono agli strumenti di fornire autocompletamento per i membri del letterato object.

<< 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