Deklaratsiyalarni yozing
Tur deklaratsiyasi .d.ts kengaytmali fayldir . JSDoc izohlari bilan bir qatorda (qarang: “2b-qadam: JSDoc izohlarini qo‘shish (ixtiyoriy)” 239-bet ), bu aks holda yozilmaydigan JavaScript kodiga TypeScript turlarini biriktirish usulidir.
Tur deklaratsiyasi oddiy TypeScript bilan o'xshash sintaksisga ega, bir nechta farqlar mavjud:
Tur deklaratsiyasi faqat turlarni o'z ichiga olishi mumkin va qiymatlarni o'z ichiga olmaydi. Bu hech qanday funktsiya, sinf, ob'ekt yoki o'zgaruvchan ilovalar va parametrlar uchun standart qiymatlar yo'qligini anglatadi.
Tur deklaratsiyasi qiymatlarni aniqlay olmasa-da, ular JavaScript-ning biror joyida belgilangan qiymat mavjudligini e'lon qilishlari mumkin. Buning uchun maxsus declar kalit so'zidan foydalanamiz .
Tur deklaratsiyasi faqat iste'molchilarga ko'rinadigan narsalar turlarini e'lon qiladi. Biz eksport qilinmaydigan turlar yoki funktsiya organlari ichidagi mahalliy o'zgaruvchilar uchun turlarni o'z ichiga olmaymiz.
Keling, misolga o'tamiz va TypeScript ( .ts ) kodining bir qismini va uning ekvivalent turdagi deklaratsiyasini ( .d.ts ) ko'rib chiqamiz. Ushbu misol mashhur RxJS kutubxonasidan juda ko'p ishtirok etgan kod qismidir; u nima qilayotgani haqida tafsilotlarni yoritib berasiz va buning o'rniga u qaysi til xususiyatlaridan foydalanayotganiga e'tibor bering (importlar, sinflar, interfeyslar, sinf maydonlari, funksiyalarning ortiqcha yuklanishi va boshqalar):
{ Obunachi } ni import qiling './Subscriber' import { Obuna } dan './Obuna'
import qilish { PartialObserver , Subscribable , TeardownLogic } dan './turlari'
eksport sinf Kuzatish mumkin < T > asboblar Obuna < T > {
ommaviy _isScalar : mantiqiy = yolg'on
konstruktor ( obuna bo'ling ?: ( bu : Kuzatish mumkin < T > , abonent : abonent < T >
) => TeardownLogic
) {
Do'stlaringiz bilan baham: |