Мазмуну[Жашыруу][Көрсөтүү]
- 1. TypeScript деген эмне жана ал JavaScriptтен эмнеси менен айырмаланат?
- 2. TypeScriptтин кээ бир көрүнүктүү өзгөчөлүктөрү кайсылар?
- 3. TypeScriptти колдонуунун кандай пайдасы бар?
- 4. TypeScriptти колдонуунун кандай кемчиликтери бар?
- 5. TypeScriptтин компоненттери кандай?
- 6. TypeScriptдеги интерфейстерди түшүндүрүп бере аласызбы?
- 7. TypeScriptде өзгөрмөлөр деген эмне жана алар кантип ар кандай жолдор менен жарыяланат?
- 8. Жаңы типти түзүү үчүн интерфейстин бир бөлүгүн кантип колдонсо болот?
- 9. "Кандай болбосун" дегенди кандай түшүнөсүз жана аларды качан колдонушум керек?
- 10. Кантип TypeScript кошумча статикалык терилген синтаксиси бар тил болуп саналат?
- 11. TypeScriptде модулдар эмнени билдирет?
- 12. TypeScript'те "энумдар" кантип иштейт?
- 13. Ички модуль тышкы модулдан эмнеси менен айырмаланат?
- 14. TypeScriptтин анонимдүү функциясы эмнени билдирет?
- 15. TypeScriptде ат мейкиндиги деген эмне жана аны кантип жарыялайсыз?
- 16. TypeScript кандай кирүү модификаторлорун колдойт?
- 17. TypeScript функцияны ашыкча жүктөөгө жол береби?
- 18. TypeScript функцияларда кошумча аргументтерге кантип уруксат берет?
- 19. Var, let жана const бири-биринен кандайча айырмаланат?
- 20. TypeScriptде декораторлорду сүрөттөп бериңиз?
- 21. TypeScriptде Mixins эмнени билдирет?
- 22. TypeScript'те Type Aliases деген эмне?
- 23. «Калктын өзгөрмөлүүлүгү» термини эмнени билдирет?
- 24. noImplicitAny так эмне үчүн колдонулат?
- 25. Бирикме жана кесилиш түрлөрү бири-биринен кандайча айырмаланат?
- 26. TypeScript Declare ачкыч сөзүн кантип аныктайсыз?
- 27. TypeScriptде генерик деген эмне?
- 28. TypeScriptте JSX эмнени билдирет?
- 29. TypeScript Ambients деген эмне жана аларды качан колдонушум керек?
- 30. TypeScriptдеги абстракттуу класс дегенди эмнени түшүнөсүз?
- 31. TypeScript Map файлы деген эмне?
- 32. TypeScriptде типтин ырастоолору деген эмне?
- жыйынтыктоо
Microsoft TypeScript программалоо тилин иштеп чыккан жана колдоону улантууда. Опция катары статикалык терүүнү кошуу менен, бул JavaScriptтин синтаксистик суперсети.
Ири масштабдуу тиркемелерди иштеп чыгуу тили TypeScript JavaScriptти түзөт. TypeScript JavaScript'тин жогорку топтому болгондуктан, JavaScript менен жазылган программалар TypeScriptде да жарактуу.
Бул жерде эң типтүү TypeScript иштеп чыгуучуларынын интервью суроолорунун жана жоопторунун толук тизмеси, эгер сиз бирине катышып жатсаңыз.
1. TypeScript деген эмне жана ал JavaScriptтен эмнеси менен айырмаланат?
JavaScript'тин супер топтому, TypeScript стандарттуу JavaScript'ке түзүлөт. Концептуалдык көз караштан алганда, TypeScript жана JavaScript SASS жана CSSге окшош.
Башка сөз менен айтканда, TypeScript дагы бир нече мүмкүнчүлүктөрү бар ES6 JavaScript. JavaScript Python тилине көбүрөөк окшош скрипт тили, ал эми TypeScript объектке багытталган, Java жана C# менен салыштырылуучу статикалык терилген тил.
Класстар жана интерфейстер TypeScriptтин объектиге багытталган дизайнынын бир бөлүгү болуп саналат жана типтүү жыйынтык чыгаруу статикалык терүүнүн аркасында жеткиликтүү көптөгөн куралдардын бири.
JavaScript .js кеңейтүүсү бар файлда жазылган, ал эми TypeScript .ts кеңейтүүсү бар файлда жазылган.
JavaScript'тен айырмаланып, TypeScript кодун браузерде же башка платформада түздөн-түз иштетүү мүмкүн эмес жана аны браузерлер түшүнбөйт. Андан кийин максаттуу платформа TypeScript'тин транспилери аркылуу .ts файлдарынан түзүлгөн жөнөкөй JavaScriptти иштетет.
2. TypeScriptтин кээ бир көрүнүктүү өзгөчөлүктөрү кайсылар?
- Статикалык терүү - бул компиляция учурунда типти текшерүүгө жардам берген TypeScript өзгөчөлүгү. Ошентип, сценарийди аткарбай туруп, сиз кодду жазып жатканда каталарды таба аласыз.
- DOM элементтерин кошуу же алып салуу үчүн TypeScript аркылуу өзгөртүлүшү мүмкүн.
- Windows, macOS жана Linux, анын ичинде каалаган Операциялык системада TypeScript компилятору орнотулган болушу мүмкүн.
- Класстар, интерфейстер жана модулдар TypeScript тарабынан сунушталган айрым функциялар. Ошентип, ал кардар жана сервер тарабында иштеп чыгуу үчүн объектке багытталган кодду түзө алат.
- ECMAScript 2015 (ES 6, 7) функцияларынын көпчүлүгү TypeScriptте камтылган, анын ичинде класс, интерфейс, Жебе функциялары ж.б.
- Эгер сиз JavaScript динамикалык терүүнү колдонуп жатсаңыз, TypeScript кошумча статикалык терүүнү да колдойт.
3. TypeScriptти колдонуунун кандай пайдасы бар?
- Каалаган JavaScript кыймылдаткычы же браузери TypeScriptти аткара алат, анткени ал тез, үйрөнүү оңой жана тез иштейт.
- Ал JavaScript сыяктуу эле синтаксисти жана семантиканы бөлүшөт.
- Бул backend иштеп чыгуучулары тарабынан алдыңкы кодду тезирээк жазууга көмөктөшөт.
- Ал ES6 жана ES7 мүмкүнчүлүктөрүн камтыйт JavaScript'те функция Node.js сыяктуу ES5 кыймылдаткычтары.
- JQuery, D3.js, ж.б. сыяктуу учурдагы JavaScript китепканалары.d.ts кеңейтүүсү бар Аныктоо файлы аркылуу колдоого алынат.
- Буга чейин бар JavaScript скрипти TypeScript кодун чакыра алат. Ал ошондой эле учурдагы JavaScript алкактары жана китепканалары менен кемчиликсиз интеграцияланат.
4. TypeScriptти колдонуунун кандай кемчиликтери бар?
- TypeScript менен коддоо узакка созулган компиляция процессин талап кылат.
- Бул абстракттуу класстарды колдобойт.
- Тип аныктамасы файлдарынын сапаты көйгөй болуп саналат.
- Ар бир үчүнчү тараптын китепканасы колдонуу үчүн аныктама файлы болушу керек.
- TypeScript тиркемесин браузерде иштеткибиз келсе, TypeScriptти JavaScriptке айландыруу үчүн компиляция кадамы керек.
- JavaScript веб-иштеп чыгуучулар тарабынан көп жылдар бою колдонулуп келет жана TypeScript жаңы эч нерсе бербейт.
5. TypeScriptтин компоненттери кандай?
TypeScriptте компоненттердин үч негизги категориясы бар, анын ичинде:
- тил: Ал түрү, ачкыч сөздөрү жана синтаксиси үчүн аннотацияларды камтыйт.
- TypeScript компилятору: TypeScript инструкциялары бул компилятор (tsc) тарабынан JavaScript тилине которулган.
- TypeScript тил кызматы: Тил кызматы редакторго окшош колдонмолорду негизги компилятор процессинин үстүнө экинчи катмар катары сунуштайт. Жалпы түзөтүү операцияларынын стандарттуу топтому тил кызматы тарабынан колдоого алынат.
6. TypeScriptдеги интерфейстерди түшүндүрүп бере аласызбы?
TypeScript объекттердин синтаксисин көрсөтүү үчүн интерфейстерди колдонот. Башкача айтканда, объекттер же бир катар элементтер сыяктуу маалымат формалары интерфейстер аркылуу сүрөттөлүшү мүмкүн. Интерфейс ачкыч сөзү, интерфейстин аталышы жана анын аныктамасы интерфейстерди жарыялоо үчүн колдонулат. Келгиле, колдонуучу объектинин негизги интерфейсин карап көрөлү.
Андан кийин өзгөрмөнүн түрү интерфейстин жардамы менен коюлушу мүмкүн (өзгөрмөлөргө примитивдик типтерди кантип дайындаганыңызга окшош). Андан кийин интерфейстин касиеттери Колдонуучу түрүнүн өзгөрмөсүнө жооп берет.
TypeScript долбооруңуз интерфейстерден пайда алып келет, анткени алар бирдейликти камсыз кылат. Кошумчалай кетсек, интерфейстер IDE автотолтуруунун мүмкүнчүлүктөрүн өркүндөтүү жана конструкторлорго жана методдорго туура баалуулуктар берилип жаткандыгына кепилдик берүү аркылуу долбоордун куралдарын жакшыртат.
7. TypeScriptде өзгөрмөлөр деген эмне жана алар кантип ар кандай жолдор менен жарыяланат?
Өзгөрмө - бул маанилерди кармоо үчүн колдонулган эс тутумдун атайын дайындалган аймагы. TypeScriptде өзгөрмө жарыялоодо эки чекит (:) өзгөрмөнүн атынан коюлат жана андан кийин тип коюлат. Биз өзгөрмөлөрдү JavaScriptдегидей var ачкыч сөзү менен жарыялайбыз.
Typescriptде өзгөрмө жарыялоодо белгилүү бир көрсөтмөлөрдү сактоо керек:
- Аты сан менен башталбайт.
- Өзгөрмө аты тамгаларды же сандарды камтышы керек.
- Доллардын символу ($) жана астынкы сызык (_) бул талаада уруксат берилген жалгыз өзгөчө белгилер болуп саналат.
8. Жаңы типти түзүү үчүн интерфейстин бир бөлүгүн кантип колдонсо болот?
Учурдагы типти же интерфейсти берүү жана жаңы түрдөн чыгарылуучу ачкычтарды тандоо менен, сиз утилита түрүн өткөрүп жиберүү аркылуу TypeScript'те жаңы тип түзө аласыз.
Төмөнкү мисалда UserPreview аттуу жаңы типти кантип куруу керектиги көрсөтүлөт, ал Колдонуучу интерфейсине негизделген, бирок электрондук почтанын касиетин жокко чыгарат.
9. "Кандай болбосун" дегенди кандай түшүнөсүз жана аларды качан колдонушум керек?
Кээде сиз өзгөрмөдөгү маанини сакташыңыз керек, бирок сиз өзгөрмөнүн түрүн алдын ала билбейсиз. Маани, мисалы, колдонуучунун киргизүүсүнөн же API сурамынан келип чыгышы мүмкүн. Сиз "ар кандай" түрүн колдонуу менен өзгөрмө түрүнө маанинин каалаган түрүн бере аласыз.
Качан өзгөрмөнүн түрү ачык көрсөтүлбөсө жана компилятор аны контексттен аныктай албаса, TypeScript өзгөрмө каалаган типте деп эсептейт.
10. Кантип TypeScript кошумча статикалык терилген синтаксиси бар тил болуп саналат?
Компиляторго TypeScript'те өзгөрмөнүн түрүн этибарга албоого көрсөтмө берсе болот, анткени ал кошумча статикалык түрдө терилген. Ар кандай маалымат түрү өзгөрмөгө ар кандай маани ыйгаруу үчүн колдонулушу мүмкүн. Компиляциялоодо TypeScript каталарды текшерүүнү камсыз кылбайт.
11. TypeScriptде модулдар эмнени билдирет?
Модулдарды колдонуу менен тиешелүү өзгөрмөлөрдү, функцияларды, класстарды, интерфейстерди ж.б. бириктирүү натыйжалуу. Аны колдонсо болот, бирок глобалдык масштабда эмес, өзүнүн чөйрөсүндө гана.
Негизи модулдун аныкталган өзгөрмөлөрүнө, функцияларына, класстарына жана интерфейстерине модулдун сыртынан түздөн-түз жетүү мүмкүн эмес.
Экспорттун ачкыч сөзү модулду куруу үчүн колдонулушу мүмкүн, ал эми импорттук ачкыч сөзү модулду башка модулга кошуу үчүн колдонулушу мүмкүн.
12. TypeScript'те "энумдар" кантип иштейт?
Аты аталган константалардын жыйындысын аныктоонун ыкмасы - санамдарды же саналган типтерди колдонуу. Бул маалымат структуралары белгиленген узундукка жана белгиленген баалуулуктардын жыйындысына ээ.
TypeScript'те берилген мааниге альтернативалардын жыйнагын көрсөткөндө, энумдар ачкыч/маани түгөйлөрүнүн топтомун колдонуу менен мүмкүнчүлүктөрдү сүрөттөө үчүн көп колдонулат.
Келгиле, колдонуучулардын ар кандай түрлөрүн камсыз кылуу үчүн колдонулган энумдун иллюстрациясын карап көрөлү.
Enums компиляциядан кийин TypeScript тарабынан кадимки JavaScript объекттерине ички түрдө айландырылат. Демек, энумдарды колдонуу бир нече өзүнчө const өзгөрмөлөрүн колдонуудан артык.
Enums камсыз кылган топтоодон улам сиздин кодуңуз типке коопсуз жана түшүнүү оңой.
13. Ички модуль тышкы модулдан эмнеси менен айырмаланат?
Ички модулу:
- Ички модулдар Typescriptтин мурунку итерациясынын өзгөчөлүгү болгон.
- Ички модулдардын аты жана корпусу ModuleDeclarations аркылуу аныкталат.
- Бул жергиликтүү же экспорттолгон башка модулдардын мүчөлөрү.
- Класстар, интерфейстер, функциялар жана өзгөрмөлөр башка модулга экспорттолушу мүмкүн болгон ички модулдарда топтоштурулган.
Тышкы модулу:
- Эң акыркы версияда тышкы модулдар модулдар деп аталат.
- Аларды түзүү үчүн тышкы модул деп аталган өзүнчө булак файлы колдонулат жана ар биринде жок дегенде бир импорттук же экспорттук декларация бар.
- Эң акыркы версияда тышкы модулдар модулдар деп аталат.
- Модуль аныктамаларынын ички билдирүүлөрү тышкы модулдар аркылуу жашырылып, аныкталган өзгөрмөгө туташкан ыкмалар жана аргументтер гана көрүнүп калат.
14. TypeScriptтин анонимдүү функциясы эмнени билдирет?
Анонимдүү деп классификацияланган функцияларда идентификатор катары функциянын аталышы жок. Бул процедуралар иштөө учурунда динамикалык түрдө аныкталат. Кадимки функциялар сыяктуу, анонимдүү функциялар киргизүүлөрдү алып, натыйжаларды чыгара алат.
Адатта анонимдүү функция түзүлгөндөн кийин ага жетүү мүмкүн эмес. Өзгөрмөлөр анонимдүү функцияга дайындалышы мүмкүн.
15. TypeScriptде ат мейкиндиги деген эмне жана аны кантип жарыялайсыз?
Ат мейкиндиги функцияларды логикалык жактан топтойт. Булар типографиянын эски кодун сактайт. Ал өзгөчө байланыштары бар сапаттарды жана нерселерди камтыйт.
Ат мейкиндигинин дагы бир аталышы - бул ички модуль. Интерфейстер, класстар, функциялар жана өзгөрмөлөр туташкан функциялардын жыйындысын камсыз кылуу үчүн аттар мейкиндигине киргизилиши мүмкүн.
16. TypeScript кандай кирүү модификаторлорун колдойт?
Төмөндө TypeScript'теги жалпы, жеке жана корголгон мүмкүндүк модфикаторлору класстын мүчөсүнүн жеткиликтүүлүгүн көзөмөлдөө үчүн кандайча колдонулушу мүмкүн экендигинин мисалдары келтирилген:
- Коомдук – Кирүү класстын ар бир мүчөсүнө, анын бардык урпак класстарына жана класстын ар бир инстанциясына жеткиликтүү.
- Корголгон - Алар класстын ар бир мүчөсү жана анын бардык субкласстары үчүн жеткиликтүү. Бирок, класстын инстанциясы кире албайт.
- Аларга жеке кирүү класстын мүчөлөрү үчүн гана чектелген.
JavaScript ыңгайлуу болгондуктан, кирүү модификатору берилбесе, ал жалпыга ачык деп эсептелет.
17. TypeScript функцияны ашыкча жүктөөгө жол береби?
Ооба, функцияны ашыкча жүктөө TypeScript тарабынан колдоого алынат. Бирок азыр жасалып жатканы кызык. Ошондуктан, TypeScript менен ашыкча жүктөөдө, ар кандай кол тамгалар менен бир гана ишке ашыруу бар.
Экинчи кол текст түрүнүн параметрин камтыса, биринчи кол тамга типтин бир гана параметрине ээ. Үчүнчү функция, кандайдыр бир түрдөгү аргументти камтыган, иш жүзүндө ишке ашырууну камтыйт.
Андан кийин ишке ашыруу берилген параметрдин түрүн аныктайт жана ошол аныктоого ылайык коддун өзүнчө бөлүмүн иштетет.
18. TypeScript функцияларда кошумча аргументтерге кантип уруксат берет?
JavaScript'тен айырмаланып, эгер сиз функциянын кол тамгасында көрсөтүлгөндөй, параметрлердин так санын жана түрлөрүн көрсөтпөстөн функцияны чакырууга аракет кылсаңыз, TypeScript компилятору ката чыгарат.
Бул маселени чечүү үчүн суроо белгисинин белгисин ('?') колдонуу менен кошумча параметрлерди колдонсоңуз болот. Бул кошумча параметрлерди “?” кошуу менен белгилесе болорун көрсөтөт. бааны ала турган же албай тургандарга.
19. Var, let жана const бири-биринен кандайча айырмаланат?
TypeScript ар биринде сунушталган тиркеме менен өзгөрмө жарыялоонун үч түрдүү ыкмасын сунуштайт.
бар: JavaScriptтин өзгөрмө өзгөрмөлөрүнүн жүрүм-туруму жана масштабын аныктоо көрсөтмөлөрү менен глобалдык же функциянын масштабдуу өзгөрмөсүн жарыялайт. Өзгөрмөлөр жарыяланганда алардын маанилерин коюунун кереги жок.
болсун: жергиликтүү масштабдуу блок өзгөрмөсүн жарыялайт. Өзгөрмөлөр жарыяланганда өзгөрмөнүн маанисин коюуга муктаж эмес болсун. "Блоктун масштабындагы жергиликтүү өзгөрмө" термини функция, if/else блогу же цикл сыяктуу ал камтылган блоктун ичинен гана кирүүгө мүмкүн болгон өзгөрмөгө тиешелүү. Var'дан айырмаланып, өзгөрмөлөрдү жарыялоодон мурун окууга же жазууга болбойт.
Const: Блоктун масштабдуу константасы үчүн маанини жарыялайт, аны инициализациялангандан кийин өзгөртүүгө болбойт. Const өзгөрмөлөрү жарыялоодон мурун инициализацияланышы керек. Бүткүл жашоосунда туруктуу болгон өзгөрмөлөр үчүн бул оптималдуу.
20. TypeScriptде декораторлорду сүрөттөп бериңиз?
Аксессор, касиет, параметр, класс, функция же жасалгалоочу бардык декораторлор катары белгилүү бир жол менен жарыяланышы мүмкүн. Декораторлор - бул @expression префикси бар функциялар, алар жасалгаланган декларациянын чоо-жайы менен иштөө убагында чакырылат.
Декораторлор иштеши үчүн туюнтма функцияны баалашы керек.
TypeScript Decorators учурдагы кодго аннотацияларды жана маалыматты декларативдик түрдө кошуу максатын камсыз кылат.
Биздин tsconfig.json файлыбызда же буйрук сабында жасалгалоочулар үчүн эксперименталдык колдоону иштетүү үчүн эксперименталдыкДекораторлордун компилятор опциясын активдештирүү керек:
21. TypeScriptде Mixins эмнени билдирет?
Миксиндер - бул Javascript'те көп жолу колдонулуучу бөлүктөрдөн класстарды түзүү жана татаалдашкан толук класстарды түзүү үчүн жарым-жартылай класстарды аралаштыруу ыкмасы.
Концепция жөнөкөй: В функциясы А классын кабыл алат жана анын функционалдуулугун алуу үчүн В классын кеңейткен А классынан айырмаланып, анын функционалдуулугу кошулган жаңы классты кайтарат. Бул учурда В функциясы аралашма болуп саналат.
22. TypeScript'те Type Aliases деген эмне?
Түр лакап аттары түрдүн атын өзгөртөт. Тип лакап аттары, интерфейстер сыяктуу, примитивдерди, бирикмелерди, кортеждерди жана башка кол менен аныкталышы керек болгон башка типтерди атоо үчүн колдонулушу мүмкүн.
Аламаш жаңы түрүн жаратпайт; тескерисинче, ал учурдагы түрдүн атын өзгөртөт. Примитивге лакап ат коюу чындыгында практикалык эмес, бирок ал документация үчүн пайдалуу болушу мүмкүн.
Тип лакап аттар, интерфейстер сыяктуу, универсалдуу болушу мүмкүн; сизге керек болгон нерсе - типтин параметрлерин кошуу жана аларды псевдониманын оң жагында колдонуу.
23. «Калктын өзгөрмөлүүлүгү» термини эмнени билдирет?
JavaScript жергиликтүү жана глобалдык масштаб өзгөрмөлөрүн колдойт. Колдонуу объекттеринин, өзгөрмөлөрдүн жана функциялардын жыйындысы.
Өзгөрмөлөрдү эки чөйрөдө жарыялоонун мисалы:
- Local Scope менен өзгөрмө - Бул функциялардын ичинде колдонуу үчүн функция объектиси катары кызмат кылат.
- Глобалдык масштабдагы өзгөрмө – Бул терезе объектиси функциялардын ичинде да, сыртында да колдонулушу мүмкүн
24. noImplicitAny так эмне үчүн колдонулат?
TypeScript компиляторунун долбооруңуздун кандайдыр бир жашыруун түрлөрүнө мамилеси TypeScript долбоорлору үчүн tsconfig.json конфигурация файлындагы noImplicitAny касиети тарабынан өзгөртүлгөн.
noImplicitAny желекчесин чын же жалган деп коюуга болот жана инициализациядан кийин ар дайым өзгөрүп турат. Ар бир долбоор уникалдуу экенин эске алганда, бул сан кандай болушу керек деген суроого туура же туура эмес жооп жок.
Желектин күйгүзүлгөн жана өчүрүлгөн абалынын ортосундагы айырмачылыктарды түшүнүү желек үчүн кандай параметрди колдонууну тандоого жардам берет.
Эгерде noImplicitAny желекчеси "false" (демейки) деп коюлган болсо, компилятор өзгөрмөнүн түрүн анын кандай колдонулушуна жараша аныктабайт. Түрү анын ордуна компилятор тарабынан демейки боюнча каалаганына коюлат.
Бирок, эгерде noImplicitAny параметри "true" деп коюлса, компилятор түрдү чыгарууга аракет кылат жана аны жасай албаса, компиляция убактысынын катасын жаратат.
25. Бирикме жана кесилиш түрлөрү бири-биринен кандайча айырмаланат?
Нөлдөн баштап жаңы түрлөрдү жаратуунун ордуна, бирикмелер жана кесилишкен типтер учурдагы түрлөрүн түзүүгө жана аралаштырууга мүмкүндүк берет. Бирикме да, кесилиш да айырмалоочу сапаттарга ээ, бул аларды белгилүү бир колдонуу учурлары үчүн идеалдуу кылат.
Бир нече түрдүн бири болушу мүмкүн болгон түрү союз түрү деп аталат. Жаңы типте колдонула турган типтердин тизмеси | жардамы менен бөлүнөт (вертикалдуу тилке) биримдиктин түрлөрүндөгү символ.
Бир иллюстрацияны карап көрөлү:
Башка жагынан алганда, кесилиш жаңы типти түзүү үчүн ар бир типтин бардык өзгөчөлүктөрүн бириктирип, көптөгөн типтерди бир түргө бириктирген тип катары аныкталат. Бириле турган түрлөрдүн тизмеси & символу аркылуу кесилиштерге бөлүнөт.
Келгиле, мисалды карап көрөлү:
26. TypeScript Declare ачкыч сөзүн кантип аныктайсыз?
JavaScript китепканаларында же алкактарында TypeScript декларация файлдары жок. Бирок, сиз аларды TypeScript файлында эч кандай компиляция каталарына туш болбостон колдонуу үчүн declare ачкыч сөзүн колдонушуңуз керек.
Эгер сиз башка жерде болушу мүмкүн болгон өзгөрмөнү көрсөткүңүз келсе, declare ачкыч сөзүн айланадагы декларацияларда жана методдордо колдоносуз.
27. TypeScriptде генерик деген эмне?
TypeScript Generics деп аталган курал кайра колдонууга боло турган бөлүктөрүн өндүрүү ыкмасын сунуштайт. Берилиштердин бир гана формасы менен иштөөнүн ордуна, ал бир катар маалымат түрлөрү менен иштей ала турган компоненттерди иштеп чыга алат.
Кошумчалай кетсек, ал эффективдүүлүктү же өндүрүмдүүлүктү жоготпостон типтин коопсуздугун сунуштайт. Биз генериктердин аркасында жалпы класстарды, жалпы функцияларды, жалпы методдорду жана жалпы интерфейстерди кура алабыз.
Генериктер жогорку терилген коллекциялар, анткени типтин параметри ачык () жана жабуу (>) кашаалардын ортосунда жазылган. Ал типтерди билдирген T деп аталган уникалдуу түр өзгөрмөсүн колдонот.
28. TypeScriptте JSX эмнени билдирет?
JSX – бул XML сыяктуу синтаксистен айландырыла турган мыйзамдуу JavaScript. React алкактары менен бирге JSX популярдуулукка ээ болду.
Түздөн-түз компиляция, типти текшерүү жана JSXти JavaScriptке киргизүү TypeScript тарабынан колдоого алынат. Сиз файлыңызга a.tsx кеңейтүүсүн беришиңиз керек жана аны колдонгуңуз келсе, JSX опциясын активдештириңиз.
29. TypeScript Ambients деген эмне жана аларды качан колдонушум керек?
Компилятор башка жерде жайгашкан чыныгы баштапкы коду жөнүндө кабардар болуп, айланадагы декларациялар аркылуу берилет.
Эгер биз бул баштапкы коддорду иштөө учурунда колдонууга аракет кылсак, бирок алар жок болсо, ал эч кандай алдын ала эскертүүсүз бузулат. Документке окшош файлдар айлана-чөйрөдөгү декларация файлдары.
Эгер булак өзгөрсө, документтер жаңыртылууга тийиш жана айлана-чөйрө декларациясынын файлы өзгөртүлбөсө, компилятордук маселелер пайда болот.
Андан тышкары, бул бизге jQuery, AngularJS, NodeJS ж.
30. TypeScriptдеги абстракттуу класс дегенди эмнени түшүнөсүз?
Абстракттуу класстар объекттин келишимин түз объекттин инстанциясына жол бербестен аныктайт. Бирок, абстракттуу класс өзүнүн мүчөсүнүн ишке ашыруу маалыматын да сунуштай алат.
Абстракттуу класста бир же бир нече абстракттуу мүчөлөрдү табууга болот. Суперкласстын абстрактуу мүчөлөрү абстракттуу классты кеңейткен бардык класстар тарабынан камсыздалган ишке ашырууга ээ болушу керек.
Келгиле, абстракттуу класстын TypeScript мисалын жана башка класс аны кантип кеңейте аларын карап көрөлү. Төмөндөгү мисалдагы Автоунаа жана Велосипед класстары Унаа классын кеңейтсе да, алардын ар бири drive() функциясын уникалдуу түрдө ишке ашырышат.
31. TypeScript Map файлы деген эмне?
TypeScript Карта файлы деп аталган баштапкы карта файлы биздин түпнуска файлдарыбыз тууралуу маалыматтарды камтыйт. Булак карта файлдары же .map файлдары куралдарга чыгарылган JavaScript коду менен аны чыгарган TypeScript булак файлдарынын ортосунда карта түзүүгө мүмкүндүк берет.
Кошумчалай кетсек, бул файлдарды мүчүлүштүктөрдү оңдоочулар колдонсо болот, бул бизге JavaScript файлына эмес, TypeScript файлын оңдоого мүмкүндүк берет.
32. TypeScriptде типтин ырастоолору деген эмне?
Типти ырастоо C# жана Java сыяктуу башка тилдердеги типографияга окшош функцияларды аткарса да, типти текшерүүнү же маалыматтарды кайра уюштурууну жүргүзбөйт.
Түр ырастоо иштөө убактысына эч кандай таасир этпесе да, типти кастинг бул колдоону сунуштайт. Тип ырастоолору, экинчи жагынан, компилятор тарабынан гана колдонулат жана биздин кодубуздун кандайча текшерилишин каалайбыз деген көрсөтмөнү берет.
жыйынтыктоо
Жыйынтыктап айтканда, бул TypeScript интервью суроолору сиз үчүн пайдалуу болот деп үмүттөнөбүз, мейли сиз жумушка катышууга даярданып жаткан иштеп чыгуучусузбу же эң мыкты талапкерди табууга аракет кылган жалдоо менеджерисизби.
Жумушка алуу процесси жөн гана техникалык экспертизаны камтыарын унутпаңыз. Жумушка орношуңуз (же ылайыктуу талапкерди табуу) үчүн, мурунку тажрыйбалар жана жумшак көндүмдөр бирдей эле маанилүү.
TypeScript интервью суроолорунун көбү ачык жана бир да туура жообу жок, андыктан муну эстен чыгарбаңыз.
Интервьючулар сиздин жоопторуңуздун жүйөөсүнө кызыгышат.
Жообуңузга кантип жеткениңизди түшүндүргөн кийинки сурамдарга ар дайым даяр болуңуз. Ой жүгүртүү процессиңизди сүрөттөп бериңиз.
Таштап Жооп