Programming TypeScript


null, aniqlanmagan, bekor va hech qachon


Download 1.81 Mb.
bet34/206
Sana01.11.2023
Hajmi1.81 Mb.
#1737990
1   ...   30   31   32   33   34   35   36   37   ...   206
Bog'liq
Boris Cherny Programming TypeScript Making Your JavaScript Applications (1)

null, aniqlanmagan, bekor va hech qachon


JavaScript-da biror narsaning yo'qligini ifodalash uchun ikkita qiymat mavjud: null va undefined . TypeScript ikkalasini ham qiymat sifatida qo'llab-quvvatlaydi va ular uchun turlar ham bor - ular nima deb atalganini taxmin qilasizmi? Siz tushundingiz, turlar null va undefined deb ataladi .
undefined turidagi yagona narsa undefined qiymati va null turidagi yagona narsa null qiymatidir .
JavaScript dasturchilari odatda ikkalasini bir-birining oʻrnida ishlatadilar, garchi taʼkidlash joizki, nozik semantik farq bor: aniqlanmagan narsa hali aniqlanmaganligini bildiradi va null qiymat yoʻqligini bildiradi (masalan, siz qiymatni hisoblashga urinib koʻrsangiz, lekin unga duch kelgan boʻlsangiz). yo'lda xatolik yuz berdi). Bu shunchaki konventsiyalar va TypeScript sizni ularga ishontirmaydi, lekin bu farqlash uchun foydali bo'lishi mumkin.
Null va undefined dan tashqari , TypeScript ham void va never ga ega . Bular haqiqatan ham aniq, maxsus maqsadli turlar boʻlib, ular mavjud boʻlmagan har xil turdagi narsalar oʻrtasida yanada nozikroq chiziqlarni tortadi: void — hech narsani qaytarmaydigan funksiyaning qaytish turi (masalan, console.log ), va hech qachon hech qachon qaytarilmaydigan funksiya turi emas (masalan, istisno qiladigan funktsiya yoki abadiy ishlaydigan funksiya):
// (a) Raqamni yoki nullni qaytaruvchi funksiya
funktsiyasi a ( x : raqam ) { agar ( x < 10 ) {
qaytish x } qaytish null }
// (b) Aniqlanmagan qaytaruvchi funksiya
funktsiyasi b() { qaytish aniqlanmagan }
// (c) Voidni qaytaruvchi funksiya
funktsiyasi c() { ruxsat bering a = 2 + 2 ruxsat bering b = a * a }
// (d) Hech qachon qaytarmaydigan funksiya
funktsiyasi d() {
tashlash TypeError ( "Men doim xato qilaman" )}
// (e) Hech qachon qaytarmaydigan boshqa funksiya
funktsiyasi e() { while ( true ) { doSomething ()
}
}
(a) va (b) mos ravishda null va undefined ni aniq qaytaradi . (c) undefined ni qaytaradi, lekin u buni aniq qaytish bayonoti bilan qilmaydi , shuning uchun biz uni void qaytaradi deymiz . (d) istisno qiladi va (e) abadiy ishlaydi - hech qachon qaytib kelmaydi, shuning uchun biz ularning qaytish turini hech qachon deb aytamiz .
Agar noma'lum har bir boshqa turning supertipi bo'lsa, unda hech qachon boshqa har bir turning pastki turi bo'lmaydi. Biz uni pastki tur deb ataymiz . Bu shuni anglatadiki, u boshqa har qanday turga tayinlanishi mumkin va bu turdagi qiymat hech qachon xavfsiz tarzda ishlatilmaydi. Bu asosan nazariy ahamiyatga ega, 15ammo boshqa tillar bilan TypeScript haqida gaplashganda paydo bo'ladigan narsa.
3-2-jadvalda to'rtta yo'qlik turi qanday qo'llanilishi umumlashtiriladi.
3-2-jadval. Biror narsaning yo'qligini bildiruvchi turlar


Download 1.81 Mb.

Do'stlaringiz bilan baham:
1   ...   30   31   32   33   34   35   36   37   ...   206




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