Programming TypeScript


Ob'ektlarni const bilan e'lon qilishda xulosa yozing


Download 1.81 Mb.
bet25/206
Sana01.11.2023
Hajmi1.81 Mb.
#1737990
1   ...   21   22   23   24   25   26   27   28   ...   206
Bog'liq
Boris Cherny Programming TypeScript Making Your JavaScript Applications (1)

Ob'ektlarni const bilan e'lon qilishda xulosa yozing
ob'ektni e'lon qilish uchun const dan foydalansak nima bo'lar edi ?
const a : { b : raqam } = {
b : 12 } // Hali {b: raqam}
b ni harf sifatida emas, balki raqam sifatida qabul qilganiga hayron bo'lishingiz mumkin
12 . Oxir oqibat, biz s raqami yoki s qatorini e'lon qilishda bizning const yoki let ni tanlashimiz TypeScript bizning turlarimizni qanday chiqarishiga ta'sir qilishini bilib oldik.
Biz hozirgacha ko'rib chiqqan ibtidoiy turlardan farqli o'laroq - mantiqiy , raqam , bigint , string va simvol - ob'ektni const bilan e'lon qilish TypeScript-ga uning turini aniqroq aniqlashga yordam bermaydi. Buning sababi, JavaScript ob'ektlari o'zgaruvchan va barcha TypeScript ularni yaratganingizdan so'ng ularning maydonlarini yangilashingiz mumkinligini biladi.
122-betdagi “Turni kengaytirish” bo‘limida, jumladan, torroq xulosaga qanday qo‘shilishni ham chuqurroq o‘rganamiz .

Ob'ektning so'zma-so'z sintaksisi shunday deydi: "Mana bu shaklga ega narsa." Bu narsa ob'ekt literal bo'lishi mumkin yoki u sinf bo'lishi mumkin:
ruxsat bering c : { birinchi ism : string familiya : string
} = {
ism : 'jon' , familiyasi : 'barrowman' }
sinf Shaxs { konstruktor (
ommaviy firstName : string , // public qisqartmasi
// this.firstName = firstName
ommaviy familiya : string
) {}
}
c = yangi Shaxs ( 'mat' , 'smit' ) // OK
{firstName: string, lastName: string} ob'ekt shaklini tavsiflaydi va oxirgi misoldagi ob'ektning literali ham, sinf namunasi ham ushbu shaklni qondiradi, shuning uchun TypeScript bizga c ga Shaxs belgilash imkonini beradi .
Keling, qo'shimcha xususiyatlarni qo'shganimizda yoki zarur bo'lganlarni qoldirganimizda nima sodir bo'lishini ko'rib chiqamiz:
ruxsat bering a : { b : raqam }
a = {} // Xato TS2741: "{}" turida "b" xususiyati yo'q // lekin '{b: number}' turida talab qilinadi.
a = { b : 1 ,
c : 2 // Xato TS2322: '{b: raqam; c: number}' tayinlanmaydi } // '{b: number}' yozish uchun. Ob'ekt harfi faqat ma'lumni ko'rsatishi mumkin // xususiyatlar va '{b: number}' turida 'c' mavjud emas.

Aniq topshiriq
Bu biz birinchi marta o'zgaruvchini ( a ) e'lon qiladigan, so'ngra uni qiymatlar ( {} va {b: 1, c: 2} ) bilan ishga tushirishni ko'rib chiqqan birinchi misoldir. Bu umumiy JavaScript namunasi boʻlib, u TypeScript tomonidan ham qoʻllab-quvvatlanadi.
O'zgaruvchini bir joyda e'lon qilganingizda va uni keyinroq ishga tushirganingizda, TypeScript o'zgaruvchiga siz uni ishlatganingizda aniq qiymat berilganiga ishonch hosil qiladi:

Download 1.81 Mb.

Do'stlaringiz bilan baham:
1   ...   21   22   23   24   25   26   27   28   ...   206




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