⊗tsSpGnPTL 36 of 37 menu

TypeScript-da generikleriň çäklerinde tip parametrlerini ulanmak

TypeScript-de şeýle hem bir tip parametrini beýleki tip parametr bilen çäklendirip bildirmek mümkinçiligi bar. Bu, bir objektiň aýratynlyklaryny beýleki bir objekte göçürmek gerek bolanda zerur bolýar, şol bir wagtyň özünde goşmaça aýratynlyk geçirmekden hem goranmaly.

Geliň aşakdaky mysala seredeliň. Ýene-de üzüňiň uzynlygyny kesgitleýän myFunc funksiýasyna gaýdalyň:

function myFunc <T> (data: T): T { console.log(data.length); // säwlik return data; }

Emma indi biz bu funksiýanyň diňe length aýratynlygy bolan tip bilen işlemegini isleýäris. Bunuň üçin ILength interfeýsini düzeliň, we oňa san tipindäki length aýratynlygyny belleýeliň:

interface ILength { length: number; }

Indi öz funksiýamyzda extends açar sözi arkaly ILength-den miras alýan umumy tip belleýeliň:

function myFunc <T extends ILength> (data: T): T { console.log(data.length); return data; }

Biziň doly kodymyz şeýle görünýär:

interface ILength { length: number; } function myFunc <T extends ILength> (data: T): T { console.log(data.length); return data; }

Geliň funksiýamyzyň işini barlaýalyň we setiriň uzynlygyny tapalyň:

console.log(myFunc('abcde'));

Ýerine ýetirilen kodyň netijesi:

5 'abcde'

Indi bolsa parametre massiw geçireliň:

console.log(myFunc(['a', 'b', 'c']));

Ýerine ýetirilen kodyň netijesi:

3 [ 'a', 'b', 'c' ]
Türkmen
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkçeЎзбекOʻzbekTiếng Việt
Biz sahypanyň işlemegi, analitika we şahsyýetleşdirmek üçin cookie ulanýarys. Maglumatlaryň işlenişi Gizlinlik syýasaty boýunça amala aşyrylýar.
hemmesini kabul et sazlamak ret et