⊗tsSpGnCls 34 of 37 menu

Vispārinātie klases TypeScript

Papildus vispārinātajiem interfeisiem TypeScript var izveidot arī vispārinātas klases.

Izveidosim klasi User vispārinātā tipā. Uzrakstīsim arī īpašību value vispārinātā tipa un izveidosim atbilstošo konstruktoru:

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

Tagad izveidosim šīs klases objektu un ierakstīsim tam īpašībā virknes vērtību:

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

Tomēr, ja mēs jau esam iestatījuši objektam pie tā izsaukšanas virknes vērtību, mums neizdosies pārrakstīt šo vērtību citā tipā:

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

Mēģinot palaist kodu, mēs redzēsim šādu kļūdu:

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

Bet tajā pašā laikā mēs varam pārrakstīt virknes vērtību:

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

Ievērojiet, ka pārrakstīt īpašību no tā paša objekta citā tipā mēs nevaram, bet varam izveidot vienkārši citu objektu:

let newUser = new User(35); console.log(newUser.value); // 35
Latviešu
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Mēs izmantojam sīkdatnes, lai nodrošinātu vietnes darbību, analīti un personalizāciju. Datu apstrāde notiek saskaņā ar Konfidencialitātes politiku.
pieņemt visus iestatīt noraidīt