⊗tsSpGnCls 34 of 37 menu

TypeScriptдаги умумлашган класслар

TypeScriptда умумлашган интерфейслар билан бир қаторда умумлашган класслар ҳам яратиш мумкин.

Келгила, User номли умумлашган типдаги класс яратайлик. value номли умумлашган типдаги хоссани ҳам ёзиб, мос келгувчи конструкторни яратамиз:

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

Энди бу класснинг объектини яратиб, унинг хоссасига сатр қийматини ёзайлик:

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

Бироқ, агар биз объектга чақирилган пайтда унинг учун сатр қийматини белгилаб қўйган бўлсак, бу қийматни бошқа турга ўзгартириб бўлмайди:

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

Кодни ишга туширишга уринишда биз куйидаги хатони кўрамиз:

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

Аммо шу билан бирга, биз сатр қийматини ўзгартиришимиз мумкин:

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

Диққат қилинг, бир хил объектнинг хоссасини бошқа турга ўзгартириб бўлмайди, лекин бошқа объектни яратиш мумкин:

let newUser = new User(35); console.log(newUser.value); // 35
Ўзбек
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeOʻzbekTiếng Việt
Биз веб-сайт ишлаши, таҳлил қилиш ва персоналлаштириш учун кукидан фойдаланамиз. Маълумотларни қайта ишлаш Махфийлик сиёсатига мувофиқ амалга оширилади.
ҳаммасини қабул қилиш мослаштириш рад этиш