Programming TypeScript


Kengaytirilgan obyekt turlari


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

Kengaytirilgan obyekt turlari


Ob'ektlar JavaScript-ning markaziy qismidir va TypeScript sizga ularni xavfsiz tarzda ifodalash va boshqarishning ko'plab usullarini beradi.

Ob'ekt turlari uchun tip operatorlari


Birlashma ( | ) va kesishish ( & ), 32-betdagi “Birlashma va kesishuv turlari” da tanishtirgan ikki turdagi operatorlarni eslaysizmi ? Ma'lum bo'lishicha, ular TypeScript sizga beradigan yagona turdagi operatorlar emas! Keling, shakllar bilan ishlash uchun qulay bo'lgan yana bir nechta turdagi operatorlarni ko'rib chiqaylik.
Kirish operatori

Siz tanlagan ijtimoiy media API-dan olingan GraphQL API javobini modellashtirish uchun sizda murakkab ichki tur bor deylik:
turi APIResponse = {
foydalanuvchi : { userId : string do'stlar ro'yxati : { count : raqam do'stlar : { firstName : string familiya : string
[]
}
}
}
Siz ushbu javobni APIdan olishingiz va keyin uni ko'rsatishingiz mumkin:
funktsiyasi getAPIResponse () : Promise < APIResponse > {
// ...
}
funktsiyasi renderFriendList ( do'stlar ro'yxati : noma'lum ) {
// ...
}
ruxsat bering javob = kuting getAPIResponse ( ) renderFriendList ( javob . foydalanuvchi .friendList )
Do'stlar ro'yxati qanday bo'lishi kerak? (Hozircha noma'lum deb noma'lum .) Siz uni yozib, yuqori darajadagi APIResponse turini shu nuqtai nazardan qayta o'rnatishingiz mumkin:
turi Do'stlar ro'yxati = { count : raqam do'stlar : { firstName : string familiya : string
[]
}
turi APIResponse = {
foydalanuvchi : { userId : string do'stlar ro'yxati : do'stlar ro'yxati
}
}
funktsiyasi renderFriendList ( do'stlar ro'yxati : FriendList ) {
// ...
}
Ammo keyin siz har doim ham xohlamaydigan yuqori darajadagi har bir turingiz uchun nomlarni topishingiz kerak bo'ladi (masalan, GraphQL sxemangizdan TypeScript turlarini yaratish uchun qurish vositasidan foydalansangiz). Buning o'rniga siz o'z turingizni kiritishingiz mumkin:
turi APIResponse = {
foydalanuvchi : { userId : string do'stlar ro'yxati : { count : raqam do'stlar : { firstName : string familiya : string
[]
}
}
} turi Do'stlar ro'yxati = APIResponse [ 'user' ][ 'friendList' ]
funktsiyasi renderFriendList ( do'stlar ro'yxati : FriendList ) {
// ...
}
Siz istalgan shaklga (ob'ekt, sinf konstruktori yoki sinf namunasi) va har qanday massivga kirishingiz mumkin. Masalan, individual do'st turini olish uchun:

Download 1.81 Mb.

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




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