Programming TypeScript


Download 1.81 Mb.
bet19/206
Sana01.11.2023
Hajmi1.81 Mb.
#1737990
1   ...   15   16   17   18   19   20   21   22   ...   206
Bog'liq
Boris Cherny Programming TypeScript Making Your JavaScript Applications (1)

Turlarning ABClari


Keling, TypeScript qo'llab-quvvatlaydigan turlar, ular qanday qiymatlarni o'z ichiga olgani va ular bilan nima qilishingiz mumkinligini ko'rib chiqaylik. Shuningdek, biz turlar bilan ishlash uchun bir nechta asosiy til xususiyatlarini ko'rib chiqamiz: turdagi taxalluslar, birlashma turlari va kesishish turlari.

har qanday


har qanday turlarning otasi. Bu narx evaziga hamma narsani qiladi, lekin imkoniyatlari butunlay tashqarida bo'lmasa, siz hech kimdan yaxshilik so'rashni xohlamaysiz . TypeScript-da kompilyatsiya vaqtida hamma narsa turiga ega bo'lishi kerak va siz (dasturchi) va TypeScript (tip tekshirgich) nimadir turini aniqlay olmasangiz, har biri standart tur hisoblanadi. Bu oxirgi chora turi va iloji bo'lsa, undan qochish kerak.
Nega undan qochish kerak? Tur nima ekanligini eslaysizmi? (Bu qiymatlar toʻplami va ular bilan bajarishingiz mumkin boʻlgan narsalar.) any barcha qiymatlar toʻplamidir va istalgan . Bu shuni anglatadiki, agar sizda har qanday turdagi qiymat bo'lsa , unga qo'shishingiz, ko'paytirishingiz va .pizza() ni chaqirishingiz mumkin - har qanday narsa.
any sizning qiymatingizni odatdagi JavaScript-da bo'lgani kabi qiladi va matn terish mashinasining sehrli ishlashini butunlay oldini oladi. Kodingizga biron bir narsaga ruxsat berganingizda, siz ko'r bo'lasiz. Olovga o'xshash har qanday narsadan qoching va uni faqat oxirgi chora sifatida foydalaning.
Kamdan-kam hollarda siz uni ishlatishingiz kerak bo'lsa, siz buni shunday qilasiz:
ruxsat bering a : har qanday = 666 // har qanday ruxsat b : har qanday = [ 'xavf' ] // har qanday ruxsat c = a + b // har qanday
Uchinchi turdagi xato haqida qanday xabar berishiga e'tibor bering (nima uchun siz raqam va massiv qo'shmoqchisiz?), lekin siz TypeScript-ga ikkita har qanday s qo'shayotganingizni aytganingiz uchun emas. Agar biron-bir dan foydalanmoqchi bo'lsangiz , bu haqda aniq bo'lishingiz kerak. TypeScript ba'zi qiymatlar har qanday turdagi degan xulosaga kelganda (masalan, funksiya parametriga izoh qo'yishni unutgan bo'lsangiz yoki yozilmagan JavaScript modulini import qilgan bo'lsangiz), u kompilyatsiya vaqtidan istisno qiladi va sizning kompyuteringizda qizil chiziqni siljitadi. muharrir. A va b har qanday turdagi ( : har qanday ) bilan aniq izohlash orqali siz istisnolardan qochasiz - bu TypeScript-ga nima qilayotganingizni bilishingizni bildirish usulidir.
T SC bayrog'i: noImplicitAny

har qanday qiymatlar haqida shikoyat qilmaydi . TypeScript-ni har qanday s haqida shikoyat qilish uchun tsconfig.json faylida noImplicitAny bayrog'ini yoqishni unutmang .
noImplicitAny qat'iy TSC bayroqlari oilasining bir qismidir , shuning uchun agar siz tsconfig.json- da qat'iyni allaqachon yoqqan bo'lsangiz (biz 11-sahifadagi “tsconfig.json” da qilganimizdek ), siz borishga tayyormiz. noma'lum
Agar cho'qintirgan ota bo'lsa, noma'lum bo'lgan Keanu Rivs FQBning maxfiy agenti Jonni Yuta rolida " Point Break" filmida noma'lum: o'zini yo'qotib qo'ygan, yomon odamlar bilan yaxshi munosabatda bo'ladi, lekin tubida qonunni hurmat qiladi va yaxshi odamlar tomonida. . Sizda turini oldindan bilmagan qiymatga ega bo'lgan bir nechta holatlar uchun hech birini ishlatmang va uning o'rniga noma'lum ga murojaat qiling . Har qanday kabi , u har qanday qiymatni ifodalaydi, lekin TypeScript nomaʼlum turni nima ekanligini tekshirib, uni aniqlamaguningizcha foydalanishga ruxsat bermaydi ( 126-betdagi “Yaxshilash” ga qarang ).
Noma'lum qanday operatsiyalarni qo'llab-quvvatlaydi? Siz noma'lum qiymatlarni ( == , === , || , && va ? bilan) solishtirishingiz , ularni inkor qilishingiz ( ! bilan ) va ularni (boshqa turdagi kabi) JavaScript-ning typeof va instanceof operatorlari bilan takomillashtirishingiz mumkin. Noma'lum foydalaning :

Download 1.81 Mb.

Do'stlaringiz bilan baham:
1   ...   15   16   17   18   19   20   21   22   ...   206




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