Mündəricat[Gizlət][Göstər]
- 1. TypeScript tam olaraq nədir və JavaScript-dən nə ilə fərqlənir?
- 2. TypeScript-in bəzi diqqətəlayiq xüsusiyyətləri hansılardır?
- 3. TypeScript istifadə etməyin bəzi üstünlükləri hansılardır?
- 4. TypeScript istifadə etməyin bəzi çatışmazlıqları hansılardır?
- 5. TypeScript-in komponentləri tam olaraq hansılardır?
- 6. TypeScript-də interfeysləri izah edə bilərsinizmi?
- 7. TypeScript-də dəyişənlər nədir və onlar müxtəlif üsullarla necə elan edilir?
- 8. Yeni tip yaratmaq üçün interfeysin alt çoxluğundan necə istifadə etmək olar?
- 9. “Hər hansı” növ dedikdə nə nəzərdə tutursunuz və mən onlardan nə vaxt istifadə etməliyəm?
- 10. TypeScript necə isteğe bağlı statik tipli sintaksisi olan dildir?
- 11. TypeScript-də modullar nə deməkdir?
- 12. TypeScript-də “enums” necə işləyir?
- 13. Daxili modulu xarici moduldan nə ilə fərqləndirir?
- 14. TypeScript-in Anonim funksiyası nə deməkdir?
- 15. TypeScript-də ad sahəsi nədir və onu necə elan edirsiniz?
- 16. TypeScript hansı giriş modifikatorlarını dəstəkləyir?
- 17. TypeScript funksiyaların həddən artıq yüklənməsinə icazə verirmi?
- 18. TypeScript funksiyalarda əlavə arqumentlərə necə icazə verir?
- 19. Var, let və const bir-birindən necə fərqlənir?
- 20. TypeScript-də dekoratorları təsvir edin?
- 21. TypeScript-də Mixins nə deməkdir?
- 22. TypeScript-də tip ləqəbləri dəqiq nələrdir?
- 23. “Əhatə dairəsi dəyişəni” termini nə deməkdir?
- 24. noImplicitAny tam olaraq nə üçün istifadə olunur?
- 25. Birləşmə və kəsişmə növləri bir-birindən necə fərqlənir?
- 26. TypeScript bəyan açar sözünü necə müəyyənləşdirirsiniz?
- 27. TypeScript-də generiklər nədir?
- 28. TypeScript-də JSX nə deməkdir?
- 29. TypeScript Ambients nədir və mən onlardan nə vaxt istifadə etməliyəm?
- 30. TypeScript-də abstrakt sinif dedikdə nəyi nəzərdə tutursunuz?
- 31. TypeScript Map faylı tam olaraq nədir?
- 32. TypeScript-də tip təsdiqləri hansılardır?
- Nəticə
Microsoft TypeScript proqramlaşdırma dilini inkişaf etdirdi və dəstəkləməyə davam edir. Bir seçim olaraq statik yazmağın əlavə edilməsi ilə bu, JavaScript-in sintaktik üst dəstidir.
Geniş miqyaslı proqram inkişaf dili TypeScript JavaScript-i tərtib edir. TypeScript JavaScript-in üst dəsti olduğundan, JavaScript-də yazılmış proqramlar TypeScript-də də etibarlıdır.
Budur, birində iştirak etdiyiniz halda ən tipik TypeScript developer müsahibə sualları və cavablarının hərtərəfli siyahısı.
1. TypeScript tam olaraq nədir və JavaScript-dən nə ilə fərqlənir?
JavaScript-in üst dəsti, TypeScript standart JavaScript-i tərtib edir. Konseptual nöqteyi-nəzərdən TypeScript və JavaScript SASS və CSS-ə bənzəyir.
Başqa sözlə, TypeScript daha bir neçə imkana malik ES6 JavaScript-dir. JavaScript Python-a daha çox yaxın olan skript dilidir, TypeScript isə Java və C# ilə müqayisə olunan obyekt yönümlü, statik tipli dildir.
Siniflər və interfeyslər TypeScript-in obyekt yönümlü dizaynının bir hissəsidir və tipli nəticə onun statik yazması sayəsində mövcud olan çoxsaylı alətlərdən biridir.
JavaScript .js uzantılı faylda, TypeScript isə .ts uzantılı faylda yazılır.
JavaScript-dən fərqli olaraq, TypeScript kodu birbaşa brauzerdə və ya hər hansı digər platformada işlədilə bilməz və brauzerlər tərəfindən başa düşülmür. Hədəf platforma daha sonra TypeScript transpilerindən istifadə edərək .ts fayllarından yaradılmış sadə JavaScript-i işlədəcək.
2. TypeScript-in bəzi diqqətəlayiq xüsusiyyətləri hansılardır?
- Statik yazma, tərtib zamanı yazın yoxlanılmasına kömək edən TypeScript-in xüsusiyyətidir. Beləliklə, skripti icra etmədən belə, onu yazarkən koddakı səhvləri aşkar edə bilərsiniz.
- DOM elementləri əlavə etmək və ya silmək üçün TypeScript istifadə edərək dəyişdirilə bilər.
- Windows, macOS və Linux daxil olmaqla istənilən əməliyyat sistemində TypeScript kompilyatoru quraşdırıla bilər.
- Siniflər, interfeyslər və modullar TypeScript-in təklif etdiyi bəzi funksiyalardır. Beləliklə, həm müştəri, həm də server tərəfi inkişafı üçün obyekt yönümlü kod yarada bilər.
- ECMAScript 2015 (ES 6, 7) xüsusiyyətlərinin əksəriyyəti artıq TypeScript-ə daxil edilib, o cümlədən sinif, interfeys, Arrow funksiyaları və s.
- JavaScript-in dinamik yazmasından istifadə edirsinizsə, TypeScript isteğe bağlı statik yazmağı da dəstəkləyir.
3. TypeScript istifadə etməyin bəzi üstünlükləri hansılardır?
- İstənilən JavaScript mühərriki və ya brauzeri TypeScript-i icra edə bilər, çünki o, tez, öyrənilməsi asan və tez işləyir.
- JavaScript ilə eyni sintaksisi və semantikasını paylaşır.
- Bu, backend tərtibatçıları tərəfindən front-end kodun daha sürətli yazılmasını asanlaşdırır.
- O, ES6 və ES7 imkanlarını özündə birləşdirir JavaScript-də funksiya Node.js kimi ES5 mühərrikləri.
- Jquery, D3.js və s. kimi mövcud JavaScript kitabxanaları the.d.ts uzantısına malik olan Definition faylı vasitəsilə dəstəklənir.
- Artıq mövcud olan JavaScript skripti TypeScript kodunu işə sala bilər. O, həmçinin cari JavaScript çərçivələri və kitabxanaları ilə problemsiz şəkildə inteqrasiya edir.
4. TypeScript istifadə etməyin bəzi çatışmazlıqları hansılardır?
- TypeScript ilə kodlaşdırma uzun tərtib prosesi tələb edir.
- Mücərrəd olan sinifləri dəstəkləmir.
- Tip tərifi fayllarının keyfiyyəti problemdir.
- Hər hansı üçüncü tərəf kitabxanasının istifadə edilməsi üçün müəyyən faylı olmalıdır.
- Brauzerdə TypeScript tətbiqini işə salmaq istəyiriksə, TypeScript-i JavaScript-ə çevirmək üçün tərtib addımı lazımdır.
- JavaScript uzun illərdir veb tərtibatçıları tərəfindən istifadə olunur və TypeScript yeni heç nə vermir.
5. TypeScript-in komponentləri tam olaraq hansılardır?
TypeScript-də komponentlərin üç əsas kateqoriyası var, o cümlədən:
- Dil: O, növ, açar sözlər və sintaksis üçün annotasiyaları ehtiva edir.
- TypeScript Kompilyatoru: TypeScript təlimatları bu kompilyator (tsc) tərəfindən JavaScript-ə tərcümə olunur.
- TypeScript Dil Xidməti: Dil Xidməti əsas kompilyator prosesinin üstündə ikinci qat kimi redaktora bənzər proqramlar təklif edir. Ümumi redaktə əməliyyatlarının standart dəsti dil xidməti tərəfindən dəstəklənir.
6. TypeScript-də interfeysləri izah edə bilərsinizmi?
TypeScript obyektlərin sintaksisini təyin etmək üçün interfeyslərdən istifadə edir. Başqa sözlə, obyektlər və ya bir sıra elementlər kimi məlumat formaları interfeyslərdən istifadə edərək təsvir edilə bilər. İnterfeys açar sözü, interfeys adı və onun tərifi interfeysləri elan etmək üçün istifadə olunur. İstifadəçi obyektinin əsas interfeysini nəzərdən keçirək.
Daha sonra dəyişənin növü interfeysdən istifadə etməklə təyin edilə bilər (bir dəyişənə primitiv tiplər təyin etdiyiniz kimi). İnterfeys xüsusiyyətləri daha sonra İstifadəçi tipli dəyişən tərəfindən qarşılanacaq.
TypeScript layihəniz interfeyslərdən faydalanır, çünki onlar vahidliyi təmin edir. Bundan əlavə, interfeyslər IDE-nin avtomatik tamamlama imkanlarını təkmilləşdirməklə və konstruktorlara və metodlara düzgün dəyərlərin verilməsinə zəmanət verməklə layihənizin alətlərini təkmilləşdirir.
7. TypeScript-də dəyişənlər nədir və onlar müxtəlif üsullarla necə elan edilir?
Dəyişən, dəyərləri saxlamaq üçün istifadə olunan xüsusi olaraq təyin edilmiş yaddaş sahəsidir. TypeScript-də dəyişən elan edilərkən dəyişən adından sonra iki nöqtə (:) qoyulur və ondan sonra tip qoyulur. Biz dəyişənləri JavaScript-də olduğu kimi var açar sözü ilə elan edirik.
Typescript-də dəyişəni elan edərkən müəyyən qaydalara əməl edilməlidir:
- Ad nömrə ilə başlaya bilməz.
- Dəyişən adda hərflər və ya rəqəmlər olmalıdır.
- Dollar simvolu ($) və alt xətt (_) bu sahədə icazə verilən yeganə xüsusi simvollardır.
8. Yeni tip yaratmaq üçün interfeysin alt çoxluğundan necə istifadə etmək olar?
Mövcud növü və ya interfeysi təmin etməklə və yeni tipdən xaric ediləcək düymələri seçməklə, buraxma kommunal növündən istifadə edərək TypeScript-də yeni növ yarada bilərsiniz.
Aşağıdakı nümunə İstifadəçi interfeysinə əsaslanan, lakin e-poçt xassəsini istisna edən UserPreview adlı yeni növün necə qurulacağını nümayiş etdirir.
9. “Hər hansı” növ dedikdə nə nəzərdə tutursunuz və mən onlardan nə vaxt istifadə etməliyəm?
Bəzən dəyişəndə dəyəri saxlamalı olursunuz, lakin siz əvvəlcədən dəyişənin növündən əmin deyilsiniz. Dəyər, məsələn, istifadəçi girişindən və ya API sorğusundan yarana bilər. “Hər hansı bir” növündən istifadə etməklə dəyişən tipinə istənilən növ dəyər verə bilərsiniz.
Dəyişənin növü açıq şəkildə göstərilmədikdə və kompilyator onu kontekstdən müəyyən edə bilmədikdə, TypeScript dəyişənin hər hansı tip olduğuna inanır.
10. TypeScript necə isteğe bağlı statik tipli sintaksisi olan dildir?
Kompilyatora TypeScript-də dəyişənin tipinə məhəl qoymamağı tapşırmaq mümkündür, çünki o, isteğe bağlı olaraq statik şəkildə yazılmışdır. Hər hansı bir məlumat növü dəyişənə istənilən növ dəyər təyin etmək üçün istifadə edilə bilər. Tərtib edilərkən, TypeScript heç bir səhv yoxlamasını təmin etməyəcək.
11. TypeScript-də modullar nə deməkdir?
Modullardan istifadə edərək müvafiq dəyişənləri, funksiyaları, sinifləri, interfeysləri və s. qruplaşdırmaq effektivdir. O, qlobal miqyasda deyil, yalnız öz əhatə dairəsində istifadə edilə bilər.
Əslində modulun müəyyən edilmiş dəyişənlərinə, funksiyalarına, siniflərinə və interfeyslərinə moduldan kənardan birbaşa daxil olmaq mümkün deyil.
İxrac açar sözü modul yaratmaq üçün, idxal açar sözü isə modulu başqa modula daxil etmək üçün istifadə edilə bilər.
12. TypeScript-də “enums” necə işləyir?
Adlandırılmış sabitlər toplusunu təyin etmək üsulu saylardan və ya sadalanan növlərdən istifadə etməkdir. Bu məlumat strukturları sabit uzunluğa və sabit dəyərlər toplusuna malikdir.
TypeScript-də verilmiş dəyər üçün alternativlər toplusunu təmsil edərkən, açar/dəyər cütləri dəstindən istifadə edərək imkanları təsvir etmək üçün nömrələr tez-tez istifadə olunur.
Müxtəlif istifadəçi növlərini təmin etmək üçün istifadə edilən nömrənin təsvirinə baxaq.
Enumlar tərtib edildikdən sonra TypeScript vasitəsilə daxili olaraq adi JavaScript obyektlərinə çevrilir. Buna görə də enumların istifadəsi bir neçə ayrı const dəyişəninin istifadəsinə üstünlük verilir.
Enumların təmin etdiyi qruplaşdırmaya görə kodunuz tip baxımından təhlükəsizdir və başa düşmək daha asandır.
13. Daxili modulu xarici moduldan nə ilə fərqləndirir?
Daxili Modul:
- Daxili modullar Typescript-in əvvəlki iterasiyasının xüsusiyyəti idi.
- Daxili modulların adı və gövdəsi ModuleDeclarations istifadə edərək müəyyən edilir.
- Bunlar yerli və ya ixrac edilən digər modulların üzvləridir.
- Siniflər, interfeyslər, funksiyalar və dəyişənlər başqa modula ixrac oluna bilən daxili modullarda birlikdə qruplaşdırılıb.
Xarici Modul:
- Ən son versiyada xarici modullara modullar deyilir.
- Onları yaratmaq üçün xarici modul kimi tanınan ayrıca mənbə faylı istifadə olunur və hər birində ən azı bir idxal və ya ixrac bəyannaməsi var.
- Ən son versiyada xarici modullara modullar deyilir.
- Modul təriflərinin daxili ifadələri xarici modullardan istifadə etməklə gizlədilə bilər, yalnız müəyyən edilmiş dəyişənə bağlı metodlar və arqumentlər görünür.
14. TypeScript-in Anonim funksiyası nə deməkdir?
Anonim kimi təsnif edilən funksiyaların identifikator kimi funksiya adı yoxdur. Bu rutinlər icra zamanı dinamik olaraq müəyyən edilir. Müntəzəm funksiyalar kimi, anonim funksiyalar da girişləri qəbul edə və nəticə çıxara bilər.
Anonim funksiya yaradıldıqdan sonra adətən əlçatmaz olur. Dəyişənlər anonim funksiyaya təyin edilə bilər.
15. TypeScript-də ad sahəsi nədir və onu necə elan edirsiniz?
Ad məkanı funksiyaları məntiqi olaraq qruplaşdırır. Bunlar yazı tipli köhnə kodu daxili olaraq qoruyur. Xüsusi əlaqələri olan xüsusiyyətləri və əşyaları əhatə edir.
Ad sahəsinin başqa adı daxili moduldur. İnterfeyslər, siniflər, funksiyalar və dəyişənlərin hamısı əlaqəli funksionallıq toplusunu təmin etmək üçün ad sahəsinə daxil edilə bilər.
16. TypeScript hansı giriş modifikatorlarını dəstəkləyir?
Aşağıda TypeScript-də ictimai, şəxsi və qorunan giriş modifikatorlarının sinif üzvünün əlçatanlığına nəzarət etmək üçün necə istifadə oluna biləcəyinə dair nümunələr verilmişdir:
- İctimai – Giriş sinfin hər bir üzvü, onun bütün nəsil sinifləri və sinfin hər bir nümunəsi üçün əlçatandır.
- Qorunan – Onlar sinfin hər bir üzvü və onun bütün alt sinifləri üçün əlçatandır. Bununla belə, bir sinif nümunəsi daxil ola bilməz.
- Şəxsi-Onlara giriş yalnız sinif üzvləri ilə məhdudlaşır.
JavaScript əlverişli olduğundan, giriş modifikatoru verilmədikdə, onun ictimai olduğu güman edilir.
17. TypeScript funksiyaların həddən artıq yüklənməsinə icazə verirmi?
Bəli, funksiyanın həddən artıq yüklənməsi TypeScript tərəfindən dəstəklənir. Amma indi bunun edilməsi qəribədir. Buna görə də, TypeScript ilə həddən artıq yüklənərkən, müxtəlif imzaları olan yalnız bir tətbiq var.
İkinci imzada mətn tipli bir parametr olduğu halda, birinci imzada yalnız bir növ nömrə parametri var. İstənilən tipli arqumenti ehtiva edən üçüncü funksiya faktiki icranı ehtiva edir.
Tətbiq daha sonra təqdim olunan parametrin növünü müəyyən edir və həmin təyinata uyğun olaraq kodun ayrıca bölməsini işlədir.
18. TypeScript funksiyalarda əlavə arqumentlərə necə icazə verir?
JavaScript-dən fərqli olaraq, funksiya imzasında göstərildiyi kimi parametrlərin dəqiq miqdarını və növlərini göstərmədən funksiyanı çağırmağa cəhd etsəniz, TypeScript tərtibçisi xəta yaradacaq.
Bu problemi həll etmək üçün sual işarəsi simvolundan ('?') istifadə etməklə isteğe bağlı parametrlərdən istifadə edə bilərsiniz. Bu göstərir ki, isteğe bağlı parametrlər “?” əlavə etməklə işarələnə bilər. dəyər ala bilən və ya almayanlara.
19. Var, let və const bir-birindən necə fərqlənir?
TypeScript hər birində təklif olunan tətbiqi olan dəyişəni elan etmək üçün üç müxtəlif üsul təklif edir.
idi: JavaScript-in dəyişən dəyişənlərinin davranışı və əhatə dairəsi qaydaları ilə qlobal və ya funksiya əhatəli dəyişəni elan edir. Dəyişənlər elan edildikdə onların dəyərlərinin təyin edilməsinə ehtiyac yoxdur.
qoy: yerli əhatəli blok dəyişənini elan edir. Dəyişənlərin elan edildiyi zaman təyin edilməsi üçün dəyişənin dəyərinə ehtiyac olmasın. “Blok əhatəli yerli dəyişən” termini funksiya, if/else bloku və ya dövrə kimi yalnız onun yerləşdiyi blokun daxilindən əldə edilə bilən dəyişənə aiddir. Var-dan fərqli olaraq, dəyişənlər elan edilməmişdən əvvəl oxunması və ya yazılması mümkün deyil.
const: Başlandıqdan sonra dəyişdirilə bilməyən blok əhatəli sabit üçün dəyər elan edir. Const dəyişənləri elan edilməzdən əvvəl işə salınmalıdır. Bütün mövcudluğu ərzində sabit qalan dəyişənlər üçün bu optimaldır.
20. TypeScript-də dekoratorları təsvir edin?
Aksessuar, xüsusiyyət, parametr, sinif, funksiya və ya dekorator hamısı dekoratorlar kimi xüsusi bir şəkildə elan edilə bilər. Dekoratorlar @expression prefiksi olan funksiyalardır ki, bəzədilmiş bəyannamə haqqında təfərrüatlar ilə işləmə zamanı çağırılır.
Dekoratorların işləməsi üçün ifadə funksiyanı qiymətləndirməlidir.
TypeScript Dekoratorları cari koda deklarativ olaraq annotasiya və məlumat əlavə etmək məqsədini təmin edir.
Bizim tsconfig.json faylımızda və ya komanda xəttində dekoratorlar üçün eksperimental dəstəyi aktivləşdirmək üçün siz eksperimentalDekoratorlar kompilyator seçimini aktivləşdirməlisiniz:
21. TypeScript-də Mixins nə deməkdir?
Mixins Javascript-də təkrar istifadə edilə bilən hissələrdən siniflər yaratmaq və daha mürəkkəb tam siniflər yaratmaq üçün qismən sinifləri qarışdırmaq üsuludur.
Konsepsiya sadədir: B funksiyası A sinfini qəbul edir və funksionallığını əldə etmək üçün B sinfini genişləndirən A sinfindən fərqli olaraq əlavə funksionallığı ilə yeni sinfi qaytarır. Bu halda B funksiyası miksindir.
22. TypeScript-də tip ləqəbləri dəqiq nələrdir?
Növ ləqəbləri növün adını dəyişir. Növ ləqəbləri, interfeyslər kimi, primitivləri, birləşmələri, kortejləri və əks halda əl ilə müəyyən edilməli olan hər hansı digər növləri adlandırmaq üçün istifadə edilə bilər.
Aliasing yeni tip yaratmır; daha doğrusu, mövcud növün adını dəyişir. Primitivə ləqəb vermək həqiqətən praktik deyil, baxmayaraq ki, bu sənədləşdirmə üçün faydalı ola bilər.
Tip ləqəbləri, interfeyslər kimi, universal ola bilər; etməli olduğunuz şey növ parametrlərini əlavə etmək və ləqəb bəyannaməsinin sağ tərəfində istifadə etməkdir.
23. “Əhatə dairəsi dəyişəni” termini nə deməkdir?
JavaScript həm yerli, həm də qlobal əhatə dairəsi dəyişənlərini dəstəkləyir. Əhatə dairəsi obyektlərin, dəyişənlərin və funksiyaların məcmusudur.
Dəyişənin iki əhatə dairəsində elan edilməsinə misal:
- Yerli əhatə dairəsi ilə dəyişən – funksiyalar daxilində istifadə üçün funksiya obyekti kimi xidmət edir.
- Qlobal əhatə dairəsi ilə dəyişən – Bu pəncərə obyekti həm funksiya daxilində, həm də funksiyalardan kənarda istifadə edilə bilər
24. noImplicitAny tam olaraq nə üçün istifadə olunur?
TypeScript kompilyatorunun layihənizin gizli istənilən növlərinə münasibəti TypeScript layihələri üçün tsconfig.json konfiqurasiya faylındakı noImplicitAny xüsusiyyəti ilə dəyişdirilir.
noImplicitAny bayrağı doğru və ya yanlış olaraq təyin edilə bilər və başlanğıcdan sonra həmişə dəyişə bilər. Hər bir layihənin özünəməxsus olduğunu nəzərə alsaq, bu rəqəmin nə olması barədə düzgün və ya yanlış cavab yoxdur.
Bayrağın açıq və sönük vəziyyətləri arasındakı fərqləri anlamaq bayraq üçün hansı parametrdən istifadə edəcəyinizi seçməyə kömək edə bilər.
NoImplicitAny bayrağı false (defolt) olaraq təyin olunarsa, kompilyator dəyişənin növünü onun necə istifadə olunduğuna əsasən təyin etmir. Növ kompilyator tərəfindən defolt olaraq hər hansı birinə təyin edilir.
Bununla belə, noImplicitAny seçimi doğru olaraq təyin edilərsə, kompilyator növü nəticə çıxarmaq üçün səy göstərəcək və bunu edə bilmədikdə kompilyasiya vaxtı xətası qaldıracaq.
25. Birləşmə və kəsişmə növləri bir-birindən necə fərqlənir?
Sıfırdan yeni növlər yaratmaq əvəzinə, birliklər və kəsişmə növləri mövcud növləri tərtib etməyə və qarışdırmağa imkan verir. Həm birləşmə, həm də kəsişmə onları müəyyən istifadə halları üçün mükəmməl edən fərqli keyfiyyətlərə malikdir.
Bir neçə növdən biri ola bilən növə birlik növü deyilir. Yeni tipdə istifadə ediləcək növlərin siyahısı | ilə bölünür birlik tiplərində (şaquli bar) simvolu.
Bir illüstrasiyaya baxaq:
Digər tərəfdən, kəsişmə bir çox növləri birləşdirən, hər bir növün bütün xüsusiyyətlərini birləşdirərək yeni bir növ meydana gətirən bir növ kimi müəyyən edilir. Birləşəcək növlərin siyahısı & simvolundan istifadə edərək kəsişmələrə bölünür.
Bir illüstrasiyanı nəzərdən keçirək:
26. TypeScript bəyan açar sözünü necə müəyyənləşdirirsiniz?
JavaScript kitabxanalarında və ya çərçivələrində TypeScript bəyannamə faylları yoxdur. Bununla belə, heç bir kompilyasiya xətası ilə qarşılaşmadan onları TypeScript faylında istifadə etmək üçün declare açar sözündən istifadə etməlisiniz.
Artıq başqa yerdə mövcud ola bilən dəyişəni təyin etmək istədiyiniz zaman, siz mühit bəyannamələrində və metodlarında decre açar sözündən istifadə edirsiniz.
27. TypeScript-də generiklər nədir?
TypeScript Generics adlı alət təkrar istifadə edilə bilən hissələrin istehsalı üçün bir üsul təklif edir. Yalnız bir məlumat forması ilə işləmək əvəzinə, bir sıra məlumat növləri ilə işləyə bilən komponentlər inkişaf etdirə bilər.
Əlavə olaraq, səmərəlilik və məhsuldarlığı itirmədən tip təhlükəsizliyi təklif edir. Biz generiklər sayəsində ümumi siniflər, ümumi funksiyalar, ümumi metodlar və ümumi interfeyslər qura bilərik.
Tip parametri açıq () və qapalı (>) mötərizələr arasında yazıldığından, ümumilər yüksək tipli kolleksiyalardır. O, tipləri ifadə edən T adlı unikal növ dəyişəndən istifadə edir.
28. TypeScript-də JSX nə deməkdir?
JSX, daxil edilə bilən XML kimi sintaksisdən çevrilə bilən qanuni JavaScript-dir. React çərçivəsi ilə yanaşı, JSX populyarlıq qazandı.
JSX-in birbaşa tərtibi, növün yoxlanılması və JavaScript-ə daxil edilməsi TypeScript tərəfindən dəstəklənir. Siz faylınıza a.tsx genişlənməsini verməli və ondan istifadə etmək istəyirsinizsə, JSX seçimini aktivləşdirməlisiniz.
29. TypeScript Ambients nədir və mən onlardan nə vaxt istifadə etməliyəm?
Kompilyatora ətraf mühit bəyannamələri vasitəsilə başqa yerdə yerləşən real mənbə kodu haqqında məlumat verilir.
Bu mənbə kodlarını iş vaxtında istifadə etməyə cəhd etsək, lakin onlar mövcud deyilsə, o, əvvəlcədən xəbərdarlıq etmədən pozulacaq. Sənədə bənzər fayllar mühit bəyannamələri fayllarıdır.
Mənbə dəyişirsə, sənədlər yenilənməlidir və mühit bəyannamə faylı dəyişdirilmədikdə kompilyatorla bağlı problemlər yaranacaq.
Bundan əlavə, o, bizə jQuery, AngularJS, NodeJS və s. kimi artıq geniş istifadə olunan tanınmış JavaScript kitabxanalarından istifadə etməyə imkan verir.
30. TypeScript-də abstrakt sinif dedikdə nəyi nəzərdə tutursunuz?
Mücərrəd siniflər obyektin birbaşa nümunəsinə icazə vermədən obyektin müqaviləsini müəyyən edir. Bununla belə, abstrakt sinif öz üzvünün həyata keçirmə məlumatını da təklif edə bilər.
Mücərrəd sinifdə bir və ya daha çox abstrakt üzv tapıla bilər. Üstün sinfin mücərrəd üzvləri mücərrəd sinfi genişləndirən hər hansı siniflər tərəfindən təmin edilmiş icraya malik olmalıdırlar.
Mücərrəd sinfin TypeScript nümunəsinə və fərqli sinfin onu necə genişləndirə biləcəyinə nəzər salaq. Aşağıdakı misaldakı həm Avtomobil, həm də Velosiped sinifləri Vehicle sinifini genişləndirsə də, onların hər biri drive() funksiyasını özünəməxsus şəkildə həyata keçirir.
31. TypeScript Map faylı tam olaraq nədir?
TypeScript Xəritə faylı adlanan mənbə xəritə faylı orijinal sənədlərimiz haqqında məlumatları ehtiva edir. Mənbə xəritə faylları və ya .map faylları alətlərə çıxan JavaScript kodu ilə onu istehsal edən TypeScript mənbə faylları arasında xəritələşdirməyə imkan verir.
Bundan əlavə, bu fayllar sazlayıcılar tərəfindən istehlak edilə bilər, bu da bizə JavaScript faylından daha çox TypeScript faylını sazlamağa imkan verir.
32. TypeScript-də tip təsdiqləri hansılardır?
Növ təsdiqi C# və Java kimi digər dillərdə yazı tipinə bənzər funksiyaları yerinə yetirsə də, o, növün yoxlanılması və ya məlumatların yenidən təşkili həyata keçirmir.
Tip təsdiqinin icra müddətinə heç bir təsiri olmasa da, tip tökmə bu dəstəyi təklif edir. Digər tərəfdən, tip təsdiqləmələri yalnız tərtibçi tərəfindən istifadə olunur və kodun necə araşdırılmasını istədiyimizə dair təlimat verir.
Nəticə
Sonda ümid edirik ki, iş müsahibəsinə hazırlaşan tərtibatçı və ya ən yaxşı ərizəçini tapmağa çalışan işə qəbul meneceri olmağınızdan asılı olmayaraq, bu TypeScript müsahibə sualları sizə faydalı olacaq.
Unutmayın ki, işə qəbul prosesi yalnız texniki təcrübədən daha çox şey ehtiva edir. İşə girməyinizə (və ya uyğun ərizəçini tapmağınıza) əmin olmaq üçün keçmiş təcrübələr və yumşaq bacarıqlar eyni dərəcədə vacibdir.
Bir çox TypeScript müsahibə sualları açıqdır və bircə düzgün cavabı yoxdur, buna görə də bunu yadda saxlayın.
Müsahiblər cavablarınızın arxasında duran məntiqlə maraqlanırlar.
Cavabınıza necə gəldiyinizi izah edən növbəti sorğulara həmişə hazır olun. Düşüncə prosesinizi təsvir edin.
Cavab yaz