⊗tsSpGnIms 35 of 37 menu

TypeScript-dä umumy tipiň çäklemeleri

Öňki sapaklaryň birinde biz uzynlygy çykarmaly bolan umumy tip funksiýasyny döretdik. Emma kompilirleýän wagtymyzda ýalňyşlyk çykdy, sebäbi hemme tipler uzynlyga eýe bolup bilmeýär:

function myFunc < T > (data: T): T { console.log(data.length); // ýalňyşlyk return data; }

Şol wagt biz ýagdaýy düzetdik, umumy tipi umumy massiw tipine üýtgetdik. Ýöne TypeScript-dä umumy tipiň çäklemelerini döretmek mümkinçiligi bar. Buny üçin burç ýaýlarynda, üýtgeýjiniň T-dan soň, extends açary sözüni ýazyňyz. Ondan soň, egri ýaýlarynda täze üýtgeýji str setir tipini ýazyňyz. Funksiýanyň galan kody üýtgeşikliksiz galar:

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

Demek, umumy tip, egri ýaýlarynda görkezilen str üýtgeýjisiniň tipinden miras alýar. Indi biz öz funksiýamyzyň işini barlaýarys we myStr üýtgeýjisini döredýäris, str tipine salgylanýar, we ona egri ýaýlarynda baha berýäris:

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

Geliň, myFunc funksiýasyny çagyralyň, ýene-de onuň tipini görkezmegi unutmaň we myStr üýtgeýjisini parametr hökmünde geçireliň:

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

Sapakda görlen mysala esasan, san massiwiniň uzynlygyny tapmak üçin funksiýany belgiň.

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