⊗tsSpGnIms 35 of 37 menu

TypeScript-də Ümumiləşdirmələrin Məhdudiyyətləri

Əvvəlki dərslərin birində biz ötürülən parametrin uzunluğunu çıxarmalı olan ümumi tip funksiya yaratmışdıq. Lakin kompilyasiya zamanı bizə xəta verildi, çünki bütün tiplərin uzunluğu ola bilməz:

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

O halda biz vəziyyəti ümumi tipi ümumi massiv tipinə dəyişməklə həll etdik. Lakin TypeScript-də ümumiləşdirmələrə məhdudiyyət qoymaq imkanı var. Bunun üçün bucaqlı mötərizələrdə, T dəyişənindən sonra extends açar sözünü yazırıq. Ondan sonra qıvrım mötərizələrdə sətir tipində yeni str dəyişənini qeyd edirik. Funksiyanın qalan kodu dəyişməz qalacaq:

function myFunc <T extends {str: string}> (data: T): void { console.log(data.str.length); }

Belə çıxır ki, ümumi tip qıvrım mötərizələrdə göstərilən str dəyişəninin tipini miras alır. İndi gəlin funksiyamızın işini yoxlayaq və str tipinə istinad edən myStr dəyişəni yaradaq və ona qıvrım mötərizələrdə dəyər təyin edək:

let myStr: {str: string} = {str: 'abcde'};

Gəlin myFunc funksiyasını çağıraq, onun tipini bir daha göstərməyi unutmayaq və myStr dəyişənini parametr kimi ötürək:

myFunc <{str: string}> (myStr);

Dərsdə nəzərdən keçirilən nümunə əsasında, ədədi massivin uzunluğunu tapmaq üçün funksiya təyin edin.

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