⊗tsSpGnCls 34 of 37 menu

Classi generiche in TypeScript

Oltre alle interfacce generiche in TypeScript si possono creare anche classi generiche.

Creiamo una classe User di tipo generico. Scriviamo anche una proprietà value di tipo generico e creiamo il corrispondente costruttore:

class User <T> { value: T; constructor(userData: T) { this.value = userData; } }

Ora creiamo un oggetto di questa classe e assegniamogli un valore stringa nella proprietà:

let user = new User('john'); console.log(user.value); // 'john'

Tuttavia, se abbiamo già assegnato all'oggetto un valore stringa alla sua creazione, non possiamo sovrascrivere questo valore con un tipo diverso:

let user = new User('john'); user.value = 35;

Tentando di eseguire il codice vedremo il seguente errore:

Type 'number' is not assignable to type 'string'.

Ma allo stesso tempo possiamo sovrascrivere il valore stringa:

let user = new User('john'); user.value = 'alex'; console.log(user.value); // 'alex'

Nota che non possiamo sovrascrivere la proprietà dello stesso oggetto con un tipo diverso, ma possiamo semplicemente creare un altro oggetto:

let newUser = new User(35); console.log(newUser.value); // 35
Italiano
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesia日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Utilizziamo i cookie per il funzionamento del sito, l'analisi e la personalizzazione. I dati vengono elaborati in conformità con la Politica sulla privacy.
accetta tutto personalizza rifiuta