Programming TypeScript


Download 1.81 Mb.
bet29/206
Sana01.11.2023
Hajmi1.81 Mb.
#1737990
1   ...   25   26   27   28   29   30   31   32   ...   206
Bog'liq
Boris Cherny Programming TypeScript Making Your JavaScript Applications (1)

turi Rang = "qizil" turi Rang = "ko'k" // Xato TS2300: dublikat identifikator "Rang".
Let va const kabi , tipdagi taxalluslar blok doirasiga kiradi. Har bir blok va har bir funktsiya o'z qamroviga ega va ichki turdagi taxallus deklaratsiyasi tashqi ko'rinishga soya soladi:
turi Rang = "qizil" ruxsat x = Matematika . tasodifiy () < . 5
agar ( x ) { yozing Rang = "ko'k" // Bu yuqorida e'lon qilingan Rangni soya qiladi. ruxsat bering b : Rang = "ko'k"
} boshqa {
ruxsat bering c : Rang = "qizil" }
va o‘zgaruvchi nima uchun ishlatilishini aniq ko‘rsatish uchun foydalidir (ba’zi odamlar tavsiflovchi o‘zgaruvchilar nomlaridan ko‘ra tavsiflovchi tur nomlarini afzal ko‘radilar!). 13Turga taxallus qo'yish yoki bermaslik haqida qaror qabul qilganda, qiymatni o'z o'zgaruvchisiga chiqarish yoki olmaslik to'g'risida qaror qabul qilishda xuddi shunday mulohazalardan foydalaning.
Birlashma va kesishish turlari

Agar sizda ikkita narsa A va B bo'lsa , bu narsalarning birligi ularning yig'indisidir ( A yoki B dagi hamma narsa yoki ikkalasi), kesishma esa ularning umumiyligidir ( A va B dagi hamma narsa ). Bu haqda o'ylashning eng oson yo'li to'plamlardir. 3-2-rasmda men to'plamlarni doira shaklida tasvirlayman. Chap tomonda ikkita to'plamning birlashmasi yoki yig'indisi joylashgan; o'ng tomonda ularning kesishmasi yoki mahsuloti .

3-2-rasm. Birlashma (|) va kesishma (&)
TypeScript bizga turlarning birlashmalari va kesishishlarini tavsiflash uchun maxsus tip operatorlarini beradi: | birlashma va & kesishma uchun. Turlar to'plamlarga juda o'xshash bo'lgani uchun biz ularni xuddi shunday o'ylashimiz mumkin:
turi Mushuk = { ism : string , purrs : boolean }
turi It = { ism : string , barks : mantiqiy , wags : mantiqiy }
turi CatOrDogOrBoth = Mushuk | It turi CatAndDog = Mushuk & It
Agar biror narsa CatOrDogOrBoth bo'lsa , bu haqda nima bilasiz? Siz bilasizki, u boshqa ko'p narsa emas, balki satr bo'lgan nom xususiyatiga ega. Boshqa tomondan, CatOrDogOrBoth ga nimani belgilashingiz mumkin ? Xo'sh, mushuk , it yoki ikkalasi:
// mushuk
ruxsat bering a : CatOrDogOrBoth = { ism : "Bonkers" , xirillaydi : rost }
// It a = { ism : 'Domino' , barks : rost , wags : rost }
// Ikkalasi ham a = { ism : "Donkers" , barks : rost , purrs : rost , wags : true }
Buni yana bir bor ta'kidlab o'tish joiz: birlashma turiga ega bo'lgan qiymat ( | ) sizning ittifoqingizning aniq bir a'zosi bo'lishi shart emas; aslida, u bir vaqtning o'zida ikkala a'zo bo'lishi mumkin!14
CatAndDog haqida nima bilasiz ? Sizning it gibrid super uy hayvoningiz nafaqat o'z nomiga ega , balki u qichqirishi, qichqirishi va qichqirishi mumkin:
ruxsat bering b : CatAndDog = { ism : 'Domino' , barks : rost , purrs : rost , wags : rost }
Kasaba uyushmalari tabiiy ravishda chorrahalarga qaraganda tez-tez paydo bo'ladi. Ushbu funktsiyani oling, masalan:

Download 1.81 Mb.

Do'stlaringiz bilan baham:
1   ...   25   26   27   28   29   30   31   32   ...   206




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