Programming TypeScript


Download 1.81 Mb.
bet106/206
Sana01.11.2023
Hajmi1.81 Mb.
#1737990
1   ...   102   103   104   105   106   107   108   109   ...   206
Bog'liq
Boris Cherny Programming TypeScript Making Your JavaScript Applications (1)

hol 'Ds' : qaytish "Shanba"
}
}
Biz aniq bir necha kunni o'tkazib yubordik (bu uzoq hafta bo'ldi). TypeScript yordamga keladi:
Xato TS2366: Funktsiyada tugatish bayonoti yo'q va qaytarish turi "aniqlanmagan" ni o'z ichiga olmaydi.

T SC bayrog'i: noImplicitReturns


TypeScript-dan barcha funktsiyalaringizning kod yo'llari qiymat qaytarayotganini tekshirishni so'rash uchun (va agar biror joyni o'tkazib yuborsangiz, oldingi ogohlantirishni oching), tsconfig.json faylida noImplicitReturns bayrog'ini yoqing . Bu bayroqni yoqish yoki yoqmaslik sizga bog'liq: ba'zi odamlar kamroq aniq qaytariladigan kod uslubini afzal ko'rishadi va ba'zi odamlar yaxshi turdagi xavfsizlik va matn terish mashinasi tomonidan qo'lga kiritilgan xatolar uchun bir nechta qo'shimcha qaytish s bilan yaxshi .
Bu xato xabari bizga baʼzi holatlarni oʻtkazib yuborganimizni va ularni oxirida “Sat” (bu yaxshi boʻlardi, ha) qaytaradigan catchall return bayonoti bilan qoplashimiz kerakligini yoki getNextDayning qaytish turini sozlashimiz kerakligini bildiradi. kuni | aniqlanmagan . Har bir kun uchun ishni qo'shganimizdan so'ng , xatolik yo'qoladi (sinab ko'ring!). Biz getNextDay ning qaytish turiga izoh berganimiz va barcha filiallar bunday turdagi qiymatni qaytarishi kafolatlanmaganligi sababli , TypeScript bizni ogohlantiradi.
Ushbu misoldagi amalga oshirish tafsilotlari muhim emas: qanday boshqaruv tuzilmasidan foydalanmasligingizdan qat'iy nazar - switch , if , throw va hokazo - TypeScript har bir holatni qamrab olganligiga ishonch hosil qilish uchun orqangizni kuzatib boradi. Mana yana bir misol:
funktsiyasi isBig ( n : raqam ) { agar ( n >= 100 ) { qaytish rost
}
}
Ehtimol, mijozning o'tkazib yuborilgan muddat haqida doimiy ovozli xabarlari sizni asabiylashtirgandir va siz biznes uchun muhim bo'lgan isBig funksiyasida 100 dan kichik raqamlar bilan ishlashni unutgansiz . Shunga qaramay, hech qachon qo'rqmang - TypeScript sizga g'amxo'rlik qiladi:
Xato TS7030: Barcha kod yo'llari qiymatni qaytarmaydi.
Jamiyat
Yoki dam olish kunlari sizga fikringizni tozalash imkoniyatini bergandir va siz samaraliroq bo'lishi uchun oldingi getNextDay misolini qayta yozishingiz kerakligini tushungansiz. Switch dan foydalanish o'rniga , nima uchun ob'ektni doimiy ravishda qidirish kerak emas?
ruxsat bering Keyingi kun = {
Dush : "Shanba"
}
keyingi kun . dus // 'Shanba'
kodni kiritib, boshqa narsalarga o'tishdan oldin, yangi NextDay ob'ektida boshqa kunlarni to'ldirishni unutgansiz.
NextDay.Tue ga keyingi safar kirishga urinayotganingizda TypeScript sizga xatoga yo‘l qo‘ysa-da , siz birinchi navbatda nextDayni e’lon qilganingizda bu borada faolroq bo‘lishingiz mumkin edi . Buning ikki yo‘li bor, chunki siz 137-betdagi “Yozuv turi” va 137-betdagi “Xaritalangan turlar” bo‘limlaridan bilib olasiz ; lekin u erga borishdan oldin, keling, ob'ekt turlari uchun turdagi operatorlarga biroz aylanib o'taylik.

Download 1.81 Mb.

Do'stlaringiz bilan baham:
1   ...   102   103   104   105   106   107   108   109   ...   206




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