Mundarija[Yashirish][Show]
- 1. TypeScript aynan nima va u JavaScript dan nimasi bilan farq qiladi?
- 2. TypeScript ning qanday xususiyatlari bor?
- 3. TypeScript dan foydalanishning qanday afzalliklari bor?
- 4. TypeScript dan foydalanishning qanday kamchiliklari bor?
- 5. TypeScript ning aynan qanday komponentlari bor?
- 6. TypeScript-da interfeyslarni tushuntirib bera olasizmi?
- 7. TypeScript da o‘zgaruvchilar nima va ular qanday qilib turli usullarda e’lon qilinadi?
- 8. Yangi turdagi yaratish uchun interfeysning kichik to'plamidan qanday foydalanish mumkin?
- 9. “Har qanday” turlari deganda nimani tushunasiz va ularni qachon ishlatishim kerak?
- 10. TypeScript qanday qilib ixtiyoriy statik terilgan sintaksisga ega til hisoblanadi?
- 11. TypeScript da modullar nimani anglatadi?
- 12. TypeScript-da “enums” qanday ishlaydi?
- 13. Ichki modul tashqi moduldan nimasi bilan farqlanadi?
- 14. TypeScript ning anonim funksiyasi nimani anglatadi?
- 15. TypeScript da nomlar maydoni nima va uni qanday e'lon qilasiz?
- 16. TypeScript qanday kirish modifikatorlarini qo'llab-quvvatlaydi?
- 17. TypeScript funksiyani ortiqcha yuklashga ruxsat beradimi?
- 18. TypeScript funksiyalarda ixtiyoriy argumentlarga qanday ruxsat beradi?
- 19. Var, let va const bir-biridan qanday farqlanadi?
- 20. TypeScript da dekorativlarni tavsiflab bering?
- 21. TypeScript da miksinlar nimani anglatadi?
- 22. TypeScript-da aynan qanday turdagi taxalluslar mavjud?
- 23. “Scope o‘zgaruvchisi” atamasi nimani anglatadi?
- 24. noImplicitAny aynan nima uchun ishlatiladi?
- 25. Birlashma va kesishuv turlari bir-biridan qanday farqlanadi?
- 26. TypeScript declare kalit so‘zini qanday aniqlash mumkin?
- 27. TypeScript da generiklar nima?
- 28. TypeScript da JSX nimani anglatadi?
- 29. TypeScript Ambients nima va ulardan qachon foydalanishim kerak?
- 30. TypeScript-da abstrakt sinf deganda nimani tushunasiz?
- 31. TypeScript Map fayli aynan nima?
- 32. TypeScript da tip tasdiqlari nima?
- Xulosa
Microsoft TypeScript dasturlash tilini ishlab chiqdi va qo'llab-quvvatlashda davom etmoqda. Variant sifatida statik yozish qo'shilishi bilan bu JavaScript-ning sintaktik to'plamidir.
Keng miqyosli dasturlarni ishlab chiqish tili TypeScript JavaScript-ni kompilyatsiya qiladi. TypeScript JavaScript-ning yuqori to'plami bo'lganligi sababli, JavaScript-da yozilgan dasturlar TypeScript-da ham amal qiladi.
Bu yerda eng tipik TypeScript dasturchisi intervyu savollari va agar siz qatnashayotgan bo'lsangiz javoblarning to'liq ro'yxati keltirilgan.
1. TypeScript aynan nima va u JavaScript dan nimasi bilan farq qiladi?
JavaScript-ning yuqori to'plami, TypeScript standart JavaScript-ni kompilyatsiya qiladi. Kontseptual nuqtai nazardan, TypeScript va JavaScript SASS va CSSga o'xshaydi.
Boshqacha qilib aytganda, TypeScript ES6 JavaScript-dir, bir nechta imkoniyatlarga ega. JavaScript - bu Python-ga ko'proq o'xshash skript tili, TypeScript esa Java va C# bilan taqqoslanadigan ob'ektga yo'naltirilgan, statik ravishda yozilgan tildir.
Sinflar va interfeyslarning barchasi TypeScript-ning ob'ektga yo'naltirilgan dizaynining bir qismidir va turdagi xulosalar statik yozish tufayli mavjud bo'lgan ko'plab vositalardan biridir.
JavaScript .js kengaytmali faylda, TypeScript esa .ts kengaytmali faylda yoziladi.
JavaScript-dan farqli o'laroq, TypeScript kodi to'g'ridan-to'g'ri brauzerda yoki boshqa platformalarda ishlamaydi va brauzerlar tomonidan tushunilmaydi. Keyinchalik maqsadli platforma TypeScript transpiler yordamida .ts fayllaridan yaratilgan oddiy JavaScript-ni ishga tushiradi.
2. TypeScript ning qanday xususiyatlari bor?
- Statik yozish - bu kompilyatsiya paytida turni tekshirishga yordam beradigan TypeScript xususiyati. Shunday qilib, skriptni bajarmasdan ham, uni yozish paytida koddagi xatolarni aniqlashingiz mumkin.
- Elementlarni qo'shish yoki olib tashlash uchun DOMni TypeScript yordamida o'zgartirish mumkin.
- Har qanday operatsion tizim, jumladan Windows, macOS va Linux, TypeScript kompilyatorini o'rnatishi mumkin.
- Sinflar, interfeyslar va modullar TypeScript tomonidan taqdim etilgan ba'zi funksiyalardir. Shunday qilib, u mijoz tomoni va server tomonida ishlab chiqish uchun ob'ektga yo'naltirilgan kodni yaratishi mumkin.
- ECMAScript 2015 (ES 6, 7) xususiyatlarining aksariyati allaqachon TypeScript-ga kiritilgan, jumladan sinf, interfeys, Arrow funksiyalari va boshqalar.
- Agar siz JavaScript-ning dinamik yozish usulidan foydalanayotgan bo'lsangiz, TypeScript ixtiyoriy statik yozishni ham qo'llab-quvvatlaydi.
3. TypeScript dan foydalanishning qanday afzalliklari bor?
- Har qanday JavaScript dvigateli yoki brauzeri TypeScript-ni bajarishi mumkin, chunki u tez, o'rganish oson va tez ishlaydi.
- U JavaScript bilan bir xil sintaksis va semantikaga ega.
- Bu backend ishlab chiquvchilari tomonidan oldingi kodni tezroq yozishni osonlashtiradi.
- U ES6 va ES7 imkoniyatlarini o'z ichiga oladi JavaScript-da funksiya Node.js kabi ES5 dvigatellari.
- Jquery, D3.js va boshqalar kabi mavjud JavaScript kutubxonalari.d.ts kengaytmasiga ega boʻlgan Definition fayli orqali qoʻllab-quvvatlanadi.
- Mavjud JavaScript skripti TypeScript kodini chaqirishi mumkin. Shuningdek, u hozirgi JavaScript ramkalari va kutubxonalari bilan muammosiz integratsiyalashgan.
4. TypeScript dan foydalanishning qanday kamchiliklari bor?
- TypeScript bilan kodlash uzoq kompilyatsiya jarayonini talab qiladi.
- U mavhum bo'lgan sinflarni qo'llab-quvvatlamaydi.
- Turni aniqlash fayllari sifati muammo hisoblanadi.
- Har qanday uchinchi tomon kutubxonasida foydalanish uchun ta'rif fayli bo'lishi kerak.
- Brauzerda TypeScript ilovasini ishga tushirishni istasak, TypeScript-ni JavaScript-ga aylantirish uchun kompilyatsiya bosqichi zarur.
- JavaScript ko'p yillar davomida veb-ishlab chiquvchilar tomonidan qo'llaniladi va TypeScript hech qanday yangilik bermaydi.
5. TypeScript ning aynan qanday komponentlari bor?
TypeScript-da komponentlarning uchta asosiy toifasi mavjud, jumladan:
- Til: U tur, kalit so'zlar va sintaksis uchun izohlarni o'z ichiga oladi.
- TypeScript kompilyatori: TypeScript ko'rsatmalari ushbu kompilyator (tsc) tomonidan JavaScript-ga tarjima qilingan.
- TypeScript til xizmati: Til xizmati muharrirga o'xshash ilovalarni asosiy kompilyator jarayonining ikkinchi qatlami sifatida taklif qiladi. Umumiy tahrirlash operatsiyalarining standart to'plami til xizmati tomonidan qo'llab-quvvatlanadi.
6. TypeScript-da interfeyslarni tushuntirib bera olasizmi?
TypeScript ob'ektlar sintaksisini belgilash uchun interfeyslardan foydalanadi. Boshqacha qilib aytganda, ob'ektlar yoki bir qator elementlar kabi ma'lumotlar shakllari interfeyslar yordamida tasvirlanishi mumkin. Interfeys kalit so'zi, interfeys nomi va uning ta'rifi interfeyslarni e'lon qilish uchun ishlatiladi. Keling, foydalanuvchi ob'ektining asosiy interfeysini ko'rib chiqaylik.
Keyin o'zgaruvchining turini interfeys yordamida o'rnatish mumkin (o'zgaruvchiga ibtidoiy turlarni belgilashga o'xshash). Keyin interfeysning xususiyatlariga Foydalanuvchi tipidagi o'zgaruvchi javob beradi.
TypeScript loyihangiz interfeyslardan foyda ko'radi, chunki ular bir xillikni ta'minlaydi. Bundan tashqari, interfeyslar IDE avtoto'ldirish imkoniyatlarini oshirish va konstruktorlar va usullarga to'g'ri qiymatlar berilishini kafolatlash orqali loyihangiz vositalarini yaxshilaydi.
7. TypeScript da o‘zgaruvchilar nima va ular qanday qilib turli usullarda e’lon qilinadi?
O'zgaruvchi - bu qiymatlarni saqlash uchun ishlatiladigan xotiraning maxsus belgilangan maydoni. TypeScript-da o'zgaruvchini e'lon qilishda o'zgaruvchi nomidan keyin ikki nuqta (:) qo'yiladi va turidan keyin qo'yiladi. Biz o'zgaruvchilarni JavaScript-da bo'lgani kabi var kalit so'zi bilan e'lon qilamiz.
Typescript-da o'zgaruvchini e'lon qilishda ma'lum ko'rsatmalarga rioya qilish kerak:
- Ism raqam bilan boshlanmaydi.
- O'zgaruvchi nomi harflar yoki raqamlardan iborat bo'lishi kerak.
- Dollar belgisi ($) va pastki chiziq (_) bu sohada ruxsat etilgan yagona maxsus belgilardir.
8. Yangi turdagi yaratish uchun interfeysning kichik to'plamidan qanday foydalanish mumkin?
Mavjud tur yoki interfeysni taqdim etish va yangi turdan chiqarib tashlanadigan kalitlarni tanlash orqali siz omit yordam dasturidan foydalanib TypeScript-da yangi tur yaratishingiz mumkin.
Quyidagi misol foydalanuvchi interfeysiga asoslangan, lekin elektron pochta xususiyatini istisno qiladigan UserPreview nomli yangi turni qanday yaratishni ko'rsatadi.
9. “Har qanday” turlari deganda nimani tushunasiz va ularni qachon ishlatishim kerak?
Ba'zan o'zgaruvchida qiymatni saqlashingiz kerak bo'ladi, lekin siz o'zgaruvchining turiga oldindan ishonchingiz komil emas. Qiymat, masalan, foydalanuvchi kiritishi yoki API so'rovidan kelib chiqishi mumkin. “Har qanday” turidan foydalanib, oʻzgaruvchi turiga istalgan turdagi qiymat berishingiz mumkin.
Agar o'zgaruvchining turi aniq ko'rsatilmagan bo'lsa va kompilyator uni kontekstdan aniqlay olmasa, TypeScript o'zgaruvchi istalgan turdagi deb hisoblaydi.
10. TypeScript qanday qilib ixtiyoriy statik terilgan sintaksisga ega til hisoblanadi?
Kompilyatorga TypeScript-da o'zgaruvchining turiga e'tibor bermaslikni buyurish mumkin, chunki u ixtiyoriy ravishda statik tarzda yoziladi. O'zgaruvchiga har qanday turdagi qiymatni belgilash uchun har qanday ma'lumotlar turidan foydalanish mumkin. Kompilyatsiya qilinayotganda, TypeScript hech qanday xato tekshiruvini ta'minlamaydi.
11. TypeScript da modullar nimani anglatadi?
Modullar yordamida tegishli o'zgaruvchilar, funksiyalar, sinflar, interfeyslar va hokazolarni guruhlash samaralidir. Undan foydalanish mumkin, lekin global miqyosda emas, faqat o'z doirasida.
Mohiyatan modulning belgilangan oʻzgaruvchilari, funksiyalari, sinflari va interfeyslariga moduldan tashqaridan bevosita kirish mumkin emas.
Eksport kalit so'zi modul yaratish uchun ishlatilishi mumkin, import kalit so'zi esa modulni boshqa modulga kiritish uchun ishlatilishi mumkin.
12. TypeScript-da “enums” qanday ishlaydi?
Nomlangan konstantalar to'plamini aniqlash usuli sanab yoki sanab o'tilgan turlardan foydalanishdir. Ushbu ma'lumotlar tuzilmalari belgilangan uzunlikka va qat'iy qiymatlar to'plamiga ega.
TypeScript-da berilgan qiymat uchun muqobillar to'plamini ifodalashda kalit/qiymat juftliklari to'plamidan foydalangan holda imkoniyatlarni tavsiflash uchun raqamlar ko'pincha ishlatiladi.
Keling, har xil turdagi foydalanuvchilarni taqdim qilish uchun ishlatiladigan enumning rasmini ko'rib chiqaylik.
Enumlar kompilyatsiyadan keyin TypeScript tomonidan oddiy JavaScript ob'ektlariga o'zgartiriladi. Shuning uchun enumlardan foydalanish bir nechta alohida const o'zgaruvchilardan foydalanish afzalroqdir.
Enums taqdim etgan guruhlash tufayli kodingiz turi xavfsiz va tushunish osonroq.
13. Ichki modul tashqi moduldan nimasi bilan farqlanadi?
Ichki modul:
- Ichki modullar Typescriptning oldingi iteratsiyasining xususiyati edi.
- Ichki modullarning nomi va tanasi ModuleDeclarations yordamida aniqlanadi.
- Bu mahalliy yoki eksport qilinadigan boshqa modullarning a'zolari.
- Sinflar, interfeyslar, funktsiyalar va o'zgaruvchilar boshqa modulga eksport qilinishi mumkin bo'lgan ichki modullarda birlashtirilgan.
Tashqi modul:
- Eng so'nggi versiyada tashqi modullar modullar deb ataladi.
- Ularni yaratish uchun tashqi modul deb nomlanuvchi alohida manba faylidan foydalaniladi va har birida kamida bitta import yoki eksport deklaratsiyasi mavjud.
- Eng so'nggi versiyada tashqi modullar modullar deb ataladi.
- Modul ta'riflarining ichki bayonotlari tashqi modullar yordamida yashirin bo'lishi mumkin, faqat belgilangan o'zgaruvchiga ulangan usullar va argumentlar ko'rinadi.
14. TypeScript ning anonim funksiyasi nimani anglatadi?
Anonim deb tasniflangan funksiyalar identifikator sifatida funksiya nomiga ega emas. Ushbu tartiblar ish vaqti davomida dinamik ravishda aniqlanadi. Oddiy funktsiyalar singari, anonim funksiyalar ham ma'lumotlarni qabul qilishi va natijalarni berishi mumkin.
Odatda anonim funksiya yaratilgandan keyin unga etib bo‘lmaydi. O'zgaruvchilar anonim funksiyaga tayinlanishi mumkin.
15. TypeScript da nomlar maydoni nima va uni qanday e'lon qilasiz?
Nomlar maydoni funktsiyalarni mantiqiy ravishda guruhlaydi. Ular yozma skriptning eski kodini ichki tarzda saqlaydi. U o'ziga xos aloqalarga ega bo'lgan xususiyatlarni va narsalarni o'z ichiga oladi.
Nomlar maydonining boshqa nomi ichki moduldir. Interfeyslar, sinflar, funktsiyalar va o'zgaruvchilar bog'langan funksiyalar to'plamini ta'minlash uchun nomlar maydoniga kiritilishi mumkin.
16. TypeScript qanday kirish modifikatorlarini qo'llab-quvvatlaydi?
Quyida TypeScript-dagi umumiy, shaxsiy va himoyalangan kirish modifikatorlaridan sinf a'zosining foydalanish imkoniyatini boshqarish uchun qanday foydalanish mumkinligiga misollar keltirilgan:
- Ommaviy - kirish sinfning har bir a'zosi, uning barcha avlod sinflari va sinfning har bir namunasi uchun mavjud.
- Himoyalangan - Ular sinfning har bir a'zosi va uning barcha kichik sinflari uchun ochiqdir. Biroq, sinf misoliga kira olmaydi.
- Ularga shaxsiy kirish faqat sinf a'zolari uchun cheklangan.
JavaScript qulay bo'lganligi sababli, agar kirish modifikatori berilmagan bo'lsa, u ommaviy deb hisoblanadi.
17. TypeScript funksiyani ortiqcha yuklashga ruxsat beradimi?
Ha, funktsiyani haddan tashqari yuklash TypeScript tomonidan qo'llab-quvvatlanadi. Ammo hozir buning amalga oshirilishi g'alati. Shuning uchun, TypeScript-ni haddan tashqari yuklashda, turli xil imzolar bilan faqat bitta dastur mavjud.
Ikkinchi imzo matn turi parametrini o'z ichiga olgan bo'lsa, birinchi imzo faqat bitta turdagi raqam parametriga ega. Har qanday turdagi argumentni o'z ichiga olgan uchinchi funktsiya haqiqiy amalga oshirishni o'z ichiga oladi.
Keyin amalga oshirish taqdim etilgan parametr turini aniqlaydi va ushbu aniqlashga muvofiq kodning alohida bo'limini ishga tushiradi.
18. TypeScript funksiyalarda ixtiyoriy argumentlarga qanday ruxsat beradi?
JavaScript-dan farqli o'laroq, agar siz funktsiya imzosida ko'rsatilgan parametrlarning aniq miqdori va turlarini ko'rsatmasdan funktsiyani chaqirishga harakat qilsangiz, TypeScript kompilyatori xatoga yo'l qo'yadi.
Ushbu muammoni hal qilish uchun savol belgisi ('?') belgisidan foydalanib, ixtiyoriy parametrlardan foydalanishingiz mumkin. Bu ixtiyoriy parametrlarni “?” qoʻshish orqali belgilash mumkinligini koʻrsatadi. qiymat olishi yoki olmasligi mumkin bo'lganlarga.
19. Var, let va const bir-biridan qanday farqlanadi?
TypeScript o'zgaruvchini e'lon qilishning uch xil usulini taklif qiladi, har birida tavsiya etilgan ilova mavjud.
bor: JavaScript oʻzgaruvchilarining xatti-harakati va qamrovi boʻyicha koʻrsatmalari bilan global yoki funksiya doirasidagi oʻzgaruvchini eʼlon qiladi. O'zgaruvchilar e'lon qilinganda ularning qiymatlarini o'rnatishga hojat yo'q.
ruxsat bering: mahalliy qamrovli blok o'zgaruvchisini e'lon qiladi. O'zgaruvchilar e'lon qilinganda o'zgaruvchining qiymatini o'rnatishga muhtoj bo'lmasin. "Blokli mahalliy o'zgaruvchi" atamasi funksiya, if/else bloki yoki tsikl kabi faqat o'zi joylashgan blok ichidan kirish mumkin bo'lgan o'zgaruvchiga ishora qiladi. Var dan farqli o'laroq, o'zgaruvchilarni e'lon qilishdan oldin o'qib bo'lmaydi yoki yozilmaydi.
const: ishga tushirilgandan keyin o'zgartirib bo'lmaydigan blokli konstanta uchun qiymatni e'lon qiladi. Const o'zgaruvchilari e'lon qilinishidan oldin ishga tushirilishi kerak. Butun mavjudligi davomida doimiy bo'lib qoladigan o'zgaruvchilar uchun bu optimal hisoblanadi.
20. TypeScript da dekorativlarni tavsiflab bering?
Aksessuar, xususiyat, parametr, sinf, funktsiya yoki dekoratorning barchasi ma'lum bir tarzda dekorativ sifatida e'lon qilinishi mumkin. Dekoratorlar @expression prefiksi bo'lgan funksiyalar bo'lib, ular bezatilgan deklaratsiya tafsilotlari bilan ish vaqtida chaqiriladi.
Dekoratorlar ishlashi uchun ifoda funksiyani baholashi kerak.
TypeScript dekoratorlari joriy kodga deklarativ ravishda izohlar va ma'lumotlarni qo'shish maqsadini ta'minlaydi.
Bizning tsconfig.json faylimizda yoki buyruq satrida dekorativlar uchun eksperimental yordamni yoqish uchun siz eksperimentalDecorators kompilyator opsiyasini faollashtirishingiz kerak:
21. TypeScript da miksinlar nimani anglatadi?
Mixinlar Javascript-da qayta foydalanish mumkin bo'lgan qismlardan sinflar yaratish va murakkabroq to'liq sinflarni yaratish uchun qisman sinflarni aralashtirish usulidir.
Kontseptsiya oddiy: B funktsiyasi A sinfini qabul qiladi va uning funksionalligini olish uchun B sinfini kengaytiruvchi A sinfidan farqli o'laroq, uning funksionalligi qo'shilgan yangi sinfni qaytaradi. Bu holda B funktsiyasi aralashtiriladi.
22. TypeScript-da aynan qanday turdagi taxalluslar mavjud?
Turning taxalluslari tur nomini o'zgartiradi. Interfeyslar kabi tipdagi taxalluslardan ibtidoiy, birlashmalar, kortejlar va qo'lda aniqlanishi kerak bo'lgan boshqa turlarni nomlash uchun foydalanish mumkin.
Aliasing yangi turni yaratmaydi; balki mavjud tur nomini o'zgartiradi. Primitivga taxallus qo'yish haqiqatan ham amaliy emas, garchi u hujjatlar uchun foydali bo'lishi mumkin.
Interfeyslar kabi tipdagi taxalluslar universal bo'lishi mumkin; faqat turdagi parametrlarni qo'shish va ularni taxallus deklaratsiyasining o'ng tomonida ishlatish kerak.
23. “Scope o‘zgaruvchisi” atamasi nimani anglatadi?
JavaScript mahalliy va global o'zgaruvchilarni qo'llab-quvvatlaydi. Amal qilish doirasi ob'ektlar, o'zgaruvchilar va funktsiyalar to'plamidir.
O'zgaruvchini ikkita sohada e'lon qilish misoli:
- Mahalliy qamrovli o'zgaruvchi - u funktsiyalar ichida foydalanish uchun funktsiya ob'ekti sifatida xizmat qiladi.
- Global qamrovli o'zgaruvchi - bu oyna ob'ekti funktsiyalar ichida ham, tashqarisida ham ishlatilishi mumkin
24. noImplicitAny aynan nima uchun ishlatiladi?
TypeScript kompilyatorining loyihangizning yashirin har qanday turlariga munosabati TypeScript loyihalari uchun tsconfig.json konfiguratsiya faylidagi noImplicitAny xususiyati orqali o‘zgartiriladi.
noImplicitAny bayrog'i rost yoki yolg'onga o'rnatilishi mumkin va ishga tushirilgandan so'ng har doim o'zgarishi mumkin. Har bir loyiha noyob ekanligini hisobga olsak, bu raqam qanday bo'lishi kerakligi haqida to'g'ri yoki noto'g'ri javob yo'q.
Bayroqning yoqilgan va oʻchirilgan holatlari oʻrtasidagi farqni tushunish bayroq uchun qaysi sozlamani ishlatishni tanlashga yordam beradi.
Agar noImplicitAny bayrog'i noto'g'ri o'rnatilgan bo'lsa (sukut bo'yicha) kompilyator o'zgaruvchining turini uning qanday ishlatilishiga qarab aniqlamaydi. Tur o'rniga kompilyator tomonidan sukut bo'yicha istalganiga o'rnatiladi.
Biroq, noImplicitAny opsiyasi rost qiymatiga o'rnatilgan bo'lsa, kompilyator turni aniqlashga harakat qiladi va agar buni qila olmasa, kompilyatsiya vaqtida xatolikni keltirib chiqaradi.
25. Birlashma va kesishuv turlari bir-biridan qanday farqlanadi?
Noldan yangi turlarni yaratish o'rniga, birlashma va kesishma turlari mavjud turlarni yaratish va aralashtirish imkonini beradi. Ham birlashma, ham kesishish o'ziga xos xususiyatlarga ega bo'lib, ularni muayyan foydalanish holatlari uchun mukammal qiladi.
Bir nechta turlardan biri bo'lishi mumkin bo'lgan tur birlashma turi deb ataladi. Yangi turda foydalaniladigan turlar ro'yxati | yordamida bo'linadi Birlashma turlarida (vertikal bar) belgisi.
Keling, misolni ko'rib chiqaylik:
Boshqa tomondan, kesishma yangi turni hosil qilish uchun har bir turning barcha xususiyatlarini birlashtirib, ko'p turlarni bittaga birlashtiradigan tur sifatida aniqlanadi. Birlashtiriladigan turlar ro'yxati & belgisi yordamida kesishmalarga bo'linadi.
Keling, misolni ko'rib chiqaylik:
26. TypeScript declare kalit so‘zini qanday aniqlash mumkin?
JavaScript kutubxonalari yoki ramkalarida TypeScript deklaratsiya fayllari mavjud emas. Biroq, siz ularni TypeScript faylida kompilyatsiya xatosiga duch kelmasdan ishlatish uchun declare kalit so'zidan foydalanishingiz kerak.
Agar siz boshqa joyda mavjud bo'lishi mumkin bo'lgan o'zgaruvchini ko'rsatmoqchi bo'lsangiz, deklare kalit so'zidan muhit deklaratsiyasi va usullaridan foydalanasiz.
27. TypeScript da generiklar nima?
TypeScript Generics deb nomlangan vosita qayta ishlatiladigan qismlarni ishlab chiqarish usulini taklif qiladi. Ma'lumotlarning faqat bitta shakli bilan ishlash o'rniga, u bir qator ma'lumotlar turlari bilan ishlay oladigan komponentlarni ishlab chiqishi mumkin.
Bundan tashqari, u samaradorlik yoki mahsuldorlikni yo'qotmasdan turdagi xavfsizlikni taklif qiladi. Biz generiklar tufayli umumiy sinflar, umumiy funktsiyalar, umumiy usullar va umumiy interfeyslarni yaratishimiz mumkin.
Jeneriklar yuqori turdagi to'plamlardir, chunki tip parametri ochiq () va yopiq (>) qavslar orasiga yoziladi. U turlarni ifodalovchi T deb nomlangan noyob turdagi o'zgaruvchilardan foydalanadi.
28. TypeScript da JSX nimani anglatadi?
JSX bu qonuniy JavaScript bo'lib, u o'rnatilgan XML-ga o'xshash sintaksisdan o'zgartirilishi mumkin. React ramkasi bilan bir qatorda JSX mashhurlikka erishdi.
JSX ning to'g'ridan-to'g'ri kompilyatsiyasi, turini tekshirish va JavaScript-ga joylashtirish TypeScript tomonidan qo'llab-quvvatlanadi. Faylingizga a.tsx kengaytmasini berishingiz va undan foydalanmoqchi bo'lsangiz, JSX opsiyasini faollashtirishingiz kerak.
29. TypeScript Ambients nima va ulardan qachon foydalanishim kerak?
Kompilyatorga atrof-muhit deklaratsiyasi orqali boshqa joyda joylashgan haqiqiy manba kodi haqida xabar beriladi.
Agar biz ushbu manba kodlaridan ish vaqtida foydalanishga harakat qilsak, lekin ular mavjud bo'lmasa, u oldindan ogohlantirmasdan buziladi. Hujjatga o'xshash fayllar atrof-muhit deklaratsiyasi fayllari.
Agar manba o'zgartirilsa, hujjatlar yangilanishi kerak va agar muhit deklaratsiyasi fayli o'zgartirilmasa, kompilyator bilan bog'liq muammolar yuzaga keladi.
Bundan tashqari, bu bizga jQuery, AngularJS, NodeJS va boshqalar kabi allaqachon keng qo'llaniladigan taniqli JavaScript kutubxonalaridan foydalanish imkonini beradi.
30. TypeScript-da abstrakt sinf deganda nimani tushunasiz?
Mavhum sinflar ob'ektning to'g'ridan-to'g'ri instantsiyasiga ruxsat bermasdan, ob'ekt shartnomasini belgilaydi. Biroq, mavhum sinf o'z a'zosining amalga oshirish ma'lumotlarini ham taklif qilishi mumkin.
Abstrakt sinfda bir yoki bir nechta mavhum a'zolarni topish mumkin. Keyinchalik supersinfning mavhum a'zolari mavhum sinfni kengaytiradigan har qanday sinflar tomonidan taqdim etilgan dasturga ega bo'lishi kerak.
Keling, mavhum sinfning TypeScript misolini va boshqa sinf uni qanday kengaytirishi mumkinligini ko'rib chiqaylik. Quyidagi misoldagi Avtomobil va Velosiped sinflari Vehicle sinfini kengaytirsa ham, ularning har biri drive() funktsiyasini o'ziga xos tarzda amalga oshiradi.
31. TypeScript Map fayli aynan nima?
TypeScript Map fayli deb ataladigan manba xarita fayli asl fayllarimiz haqidagi ma'lumotlarni o'z ichiga oladi. Manba xaritasi fayllari yoki .map fayllari asboblarga chiqadigan JavaScript kodi va uni ishlab chiqqan TypeScript manba fayllari oʻrtasida xaritalash imkonini beradi.
Bundan tashqari, ushbu fayllar disk raskadrovkachilar tomonidan iste'mol qilinishi mumkin, bu bizga JavaScript faylini emas, balki TypeScript faylini disk raskadrovka qilish imkonini beradi.
32. TypeScript da tip tasdiqlari nima?
Turni tasdiqlash C# va Java kabi boshqa tillarda matn yozishga o'xshab ishlaydi, lekin u tipni tekshirish yoki ma'lumotlarni qayta tartibga solishni amalga oshirmaydi.
Turni tasdiqlash ish vaqtiga ta'sir qilmasa-da, turdagi translatsiya ushbu yordamni taqdim etadi. Boshqa tomondan, turdagi tasdiqlar faqat kompilyator tomonidan qo'llaniladi va bizning kodimizni qanday tekshirishni xohlashimiz haqida ko'rsatma beradi.
Xulosa
Xulosa qilib aytganda, ushbu TypeScript intervyu savollari, ish intervyusiga tayyorlanayotgan dasturchi bo'lasizmi yoki eng yaxshi talabgorni topishga harakat qilayotgan ishga yollash menejeri bo'lasizmi, sizga foydali bo'ladi deb umid qilamiz.
Yodda tutingki, ishga qabul qilish jarayoni nafaqat texnik tajribani o'z ichiga oladi. Ishga joylashish (yoki mos arizachini topish) uchun oldingi tajriba va yumshoq ko'nikmalar bir xil darajada muhimdir.
Ko'pgina TypeScript intervyu savollari ochiq va bitta to'g'ri javobga ega emas, shuning uchun buni yodda tuting.
Suhbatdoshlar sizning javoblaringiz ortidagi mantiqqa qiziqishadi.
Javobingizga qanday erishganingizni tushuntiruvchi keyingi so'rovlarga doim tayyor bo'ling. Fikrlash jarayonini tasvirlab bering.
Leave a Reply