⊗tsSpGnIms 35 of 37 menu

Sekatan Generik dalam TypeScript

Dalam salah satu pelajaran sebelumnya, kami mencipta fungsi jenis generik yang sepatutnya mengeluarkan panjang parameter yang dihantar ke dalamnya. Walau bagaimanapun, semasa pengkompilannya kami mendapat ralat, kerana tidak semua jenis boleh mempunyai panjang:

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

Dalam kes itu, kami membetulkan keadaan dengan menukar jenis generik kepada jenis tatasusunan generik. Tetapi dalam TypeScript terdapat keupayaan untuk mencipta sekatan generik. Untuk melakukan ini, dalam kurungan sudut, selepas pembolehubah T kita tulis kata kunci extends. Selepas itu dalam kurungan kerinting kami tulis pembolehubah baru str daripada jenis rentetan. Selebihnya kod fungsi akan kekal tanpa perubahan:

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

Jadi, jenis generik mewarisi jenis pembolehubah str yang dinyatakan dalam kurungan kerinting. Sekarang mari kita semak kerja fungsi kami dan buat pembolehubah myStr, yang merujuk kepada jenis str, dan tetapkan nilai kepadanya dalam kurungan kerinting:

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

Mari kita panggil fungsi myFunc, tanpa lupa untuk menyatakan jenisnya sekali lagi dan hantar pembolehubah myStr sebagai parameter:

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

Berdasarkan contoh yang dibincangkan dalam pelajaran, tetapkan fungsi untuk mencari panjang tatasusunan nombor.

Melayu
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Kami menggunakan kuki untuk operasi laman web, analisis dan personalisasi. Pemprosesan data dijalankan mengikut Polisi Kerahsiaan.
terima semua tataletak tolak