Ob'ektlar
TypeScript ob'ekt turlari ob'ektlarning shakllarini belgilaydi. Shunisi e'tiborga loyiqki, ular oddiy ob'ektlarni (masalan, {} yordamida yaratganingiz) va murakkabroq ob'ektlarni ( yangi Blah bilan yaratganingiz ) farqlay olmaydi . Bu dizayn bo'yicha: JavaScript odatda tizimli ravishda yoziladi , shuning uchun TypeScript nominal yozilgan uslubdan ko'ra ushbu dasturlash uslubini afzal ko'radi.
Dasturlash uslubi, unda ob'ektning nomi emas, balki ma'lum xususiyatlarga ega ekanligiga e'tibor berish kerak (nominal
yozish). Ba'zi tillarda o'rdak terish deb ham ataladi (yoki kitobni muqovasiga qarab baholamaslik).
TypeScript-da ob'ektlarni tasvirlash uchun turlardan foydalanishning bir necha usullari mavjud. Birinchisi, qiymatni ob'ekt sifatida e'lon qilishdir :
ruxsat bering a : ob'ekt = { b : 'x' }
b ga kirganingizda nima bo'ladi ?
a . b // Xato TS2339: "obyekt" turida "b" xususiyati mavjud emas.
Kutib turing, bu unchalik foydali emas! Agar biror narsa bilan hech narsa qila olmasangiz, ob'ekt sifatida yozishdan nima foyda ?
Nima uchun, bu ajoyib nuqta, intiluvchan TypeScripter! Aslida, ob'ekt har qanday dan bir oz torroq , lekin unchalik emas. ob'ekt sizga o'zi tasvirlagan qiymat haqida ko'p gapirmaydi, faqat qiymat JavaScript ob'ekti (va u null emas ).
Agar biz aniq izohni qoldirsak va TypeScript o'z ishini qilsa nima bo'ladi?
ruxsat bering a = { b : "x"
} // {b: string}
a . b // qator
ruxsat bering b = { c : {
d : 'f'
}
} // {c: {d: string}}
Voila! Siz hozirgina ob'ektni yozishning ikkinchi usulini kashf qildingiz: ob'ektning literal sintaksisi (turdagi harflar bilan adashtirmaslik kerak). Siz TypeScript-ga ob'ektingiz shaklini o'zingiz uchun chiqarishga ruxsat berishingiz yoki uni jingalak qavslar ( {} ) ichida aniq tasvirlab berishingiz mumkin:
ruxsat bering a : { b : raqam } = {
b : 12 } // {b: raqam}
Do'stlaringiz bilan baham: |