⊗tsSpGnCls 34 of 37 menu

TypeScripti generiikklassid

Lisaks generiikliidestele saab TypeScriptis teha ka generiikklasse.

Loome klassi User generiiktüübina. Kirjutame ka omaduse value generiiktüübiga ja teeme vastava konstruktori:

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

Nüüd teeme selle klassi objekti ja määrame sellele omadusse stringiväärtuse:

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

Kui oleme objekti loomisel juba määranud sellele stringiväärtuse, ei saa me seda väärtust üle kirjutada teise tüübiga:

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

Koodi käivitamise katsega näeme järgmist viga:

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

Kuid samas saame stringiväärtuse üle kirjutada:

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

Pange tähele, et me ei saa sama objekti omadust üle kirjutada teise tüübiga, kuid võime luua lihtsalt teise objekti:

let newUser = new User(35); console.log(newUser.value); // 35
Eesti
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Me kasutame saidi toimimiseks, analüüsi ja personaliseerimiseks küpsiseid. Andmete töötlemine toimub vastavalt Privaatsuspoliitikale.
nõustu kõigega häälesta keeldu