⊗tsSpGnPTL 36 of 37 menu

TypeScript-də generiklərin məhdudiyyətlərində tip parametrlərindən istifadə

TypeScript-də həmçinin bir tip parametrinin digər bir tip parametri ilə məhdudlaşdırıla biləcəyi elan edilə bilər. Bu, bir obyektdən xassələri digərinə köçürərkən, əlavə xassə ötürməməyimizə zəmanət etmək lazım olduqda zəruridir.

Gəlin aşağıdakı nümunəyə baxaq. Yenidən dəyişənin uzunluğunu təyin edən myFunc funksiyasına qayıdaq:

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

Lakin indi biz istəyirik ki, bu funksiya yalnız length xassəsi olan tiplərlə işləsin. Bunun üçün ILength interfeysi yaradaq və ona length ədəd tipli xassəsi təyin edək:

interface ILength { length: number; }

Sonra, funksiyamızda extends açar sözü vasitəsilə ILength-dən miras alan generik tip təyin edək:

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

Tam kodumuz belə görünür:

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

Gəlin funksiyamızın işini yoxlayaq və sətrin uzunluğunu tapaq:

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

Yerinə yetirilmiş kodun nəticəsi:

5 'abcde'

İndi isə parametrə massiv ötürək:

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

Yerinə yetirilmiş kodun nəticəsi:

3 [ 'a', 'b', 'c' ]
Azərbaycan
AfrikaansБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Biz saytin işi, analitika və fərdiləşdirmə üçün cookie istifadə edirik. Məlumatların emalı Məxfilik Siyasəti əsasında həyata keçirilir.
hamısını qəbul et konfiqurasiya et rədd et