Programming TypeScript


Deklaratsiyani birlashtirish


Download 1.81 Mb.
bet180/206
Sana01.11.2023
Hajmi1.81 Mb.
#1737990
1   ...   176   177   178   179   180   181   182   183   ...   206
Bog'liq
Boris Cherny Programming TypeScript Making Your JavaScript Applications (1)

Deklaratsiyani birlashtirish


Hozircha biz TypeScript biz uchun bajaradigan uchta birlashma turiga to'xtalib o'tdik:

  • Qiymatlar va turlarni birlashtirish, shunday qilib bir xil nom biz uni qanday ishlatishimizga qarab qiymat yoki turga ishora qilishi mumkin (qarang: “Hamkor ob'yekt namunasi” 140-bet )

  • Bir nechta nom maydonini bittasiga birlashtirish

  • Bir nechta interfeyslarni bittasiga birlashtirish ( 93-betdagi “Birlashtirish deklaratsiyasi” ga qarang )

Siz sezganingizdek, bular ancha umumiy TypeScript xatti-harakatining uchta maxsus holatidir. T ypeScript turli xil nomlarni birlashtirish, aks holda ifodalash qiyin bo'lishi mumkin bo'lgan barcha turdagi naqshlarni ochish uchun boy xatti-harakatlar to'plamiga ega ( 10-1-jadvalga qarang ).
10-1-jadval. Deklaratsiyani birlashtirish mumkinmi?



















Kimga
















Qiymat

Sinf

Enum

Funktsiya

Taxallus turlari

Interfeys

Ismlar maydoni

Modul




Qiymat

Yo'q

Yo'q

Yo'q

Yo'q

Ha

Ha

Yo'q






Sinf



Yo'q

Yo'q

Yo'q

Yo'q

Ha

Ha






Enum





Ha

Yo'q

Yo'q

Yo'q

Ha



Kimdan

Funktsiya







Yo'q

Ha

Ha

Ha






Taxallusni kiriting









Yo'q

Yo'q

Ha






Interfeys











Ha

Ha






Ismlar maydoni













Ha






Modul















Ha

Bu shuni anglatadiki, agar siz, masalan, bir xil qamrovda qiymat va turdagi taxallusni e'lon qilsangiz, TypeScript bunga ruxsat beradi va siz qaysi nomni nazarda tutganingizni - tur yoki qiymatni - qiymat yoki qiymatda ishlatasizmi degan xulosaga keladi. pozitsiyasini yozing. Bu bizga 140-betdagi “Hamkor ob'ekt namunasi” da tasvirlangan naqshni amalga oshirish imkonini beradi . Bu shuningdek, siz qo'shimcha ob'ektlarni amalga oshirish uchun interfeys va nom maydonidan foydalanishingiz mumkinligini anglatadi - siz faqat qiymat va turdagi taxallus bilan cheklanmaysiz. Yoki uchinchi tomon modul deklaratsiyasini kengaytirish uchun modullarni birlashtirishdan foydalanishingiz mumkin (bu haqda batafsilroq 278-betdagi “Modulni kengaytirish” bo'limida ). Yoki ushbu raqamni nomlar maydoni bilan birlashtirib, raqamga statik usullarni qo'shishingiz mumkin (sinab ko'ring!).

ModulResolution Flag


Eagle ko'zli o'quvchilar o'zlarining tsconfig.json faylida moduleResolution bayrog'ini ko'rishlari mumkin . Ushbu bayroq TypeScript ilovangizdagi modul nomlarini hal qilish uchun foydalanadigan algoritmni boshqaradi. Bayroq ikkita rejimni qo'llab-quvvatlaydi:
• tugun : Har doim ushbu rejimdan foydalaning. U bir xil algoritm yordamida modullarni hal qiladi
NodeJS foydalanadi. Prefiksli modullar . , / , yoki ~ (masalan , ./my/file ) mahalliy fayl tizimidan joriy faylga nisbatan yoki mutlaq yoʻl yordamida (sizning / katalogingizga nisbatan yoki tsconfig.json ning baseUrl oʻrnatilganidan qatʼiy nazar) hal qilinadi. to), siz foydalanadigan prefiksga qarab . TypeScript NodeJS kabi tugun modullari jildidan prefiksga ega bo'lmagan modul yo'llarini yuklaydi . TypeScript ikki usulda NodeJS rezolyutsiya strategiyasiga asoslanadi:
Deklaratsiyani birlashtirish

  1. NodeJS katalogdagi standart import qilinadigan faylni topish uchun ko‘riladigan paketning package.json asosiy maydoniga qo‘shimcha ravishda TypeScript ham

TypeScript-ga xos turlar xususiyati (bu haqda 242-betdagi “JavaScript-ni turini qidirish” bo'limida batafsil ma'lumot oling ).

  1. .ts kengaytmali faylni , keyin .tsx , .d.ts va nihoyat .js ni qidiradi .

• klassik : Siz bu rejimdan hech qachon foydalanmasligingiz kerak. Ushbu rejimda nisbiy yo'llar tugun rejimidagi kabi hal qilinadi, lekin prefikssiz nomlar uchun TypeScript joriy papkada berilgan nomga ega faylni qidiradi, so'ngra mos faylni topmaguncha katalog daraxti bo'ylab bir vaqtning o'zida papkani bosib o'tadi. . Bu NodeJS yoki JavaScript dunyosidan kelgan har bir kishi uchun chindan ham hayratlanarli xatti-harakatdir va boshqa qurilish vositalari bilan yaxshi ishlamaydi.

Xulosa


Ushbu bobda biz JavaScript modul tizimlarining qisqacha tarixi, ES2015 modullari va dinamik importli xavfsiz dangasa yuklash kodlari, CommonJS va AMD modullari bilan oʻzaro ishlash, modul rejimi va skript rejimi oʻrtasidagi qisqacha tarixdan boshlab TypeScript modul tizimini koʻrib chiqdik. Keyin biz nom maydonlarini, nomlar maydonini birlashtirishni va TypeScript deklaratsiyasini birlashtirish qanday ishlashini ko'rib chiqdik.
TypeScript-da ilovalarni ishlab chiqayotganingizda, ES2015 modullariga qattiq yopishib olishga harakat qiling. TypeScript qaysi modul tizimidan foydalanayotganingizga ahamiyat bermaydi, lekin u qurilish asboblari bilan integratsiyani osonlashtiradi ( batafsil ma’lumot uchun 12-bobga qarang).

Download 1.81 Mb.

Do'stlaringiz bilan baham:
1   ...   176   177   178   179   180   181   182   183   ...   206




Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©fayllar.org 2024
ma'muriyatiga murojaat qiling