Мундариҷа[Пинҳон кардан][Намоиш]
- 1. TypeScript маҳз чист ва он аз JavaScript чӣ фарқ дорад?
- 2. Баъзе хусусиятҳои намоёни TypeScript кадомҳоянд?
- 3. Баъзе бартариҳои истифодаи TypeScript кадомҳоянд?
- 4. Баъзе камбудиҳои истифодаи TypeScript кадомҳоянд?
- 5. Компонентҳои TypeScript маҳз кадомҳоянд?
- 6. Метавонед интерфейсҳоро дар TypeScript шарҳ диҳед?
- 7. Тағйирёбандаҳо дар TypeScript кадомҳоянд ва чӣ гуна онҳо бо роҳҳои гуногун эълон карда мешаванд?
- 8. Барои тавлиди навъи нав як зермаҷмӯи интерфейсро чӣ гуна истифода бурдан мумкин аст?
- 9. Шумо маънои «ягон намуд»-ро дар назар доред ва кай бояд онҳоро истифода барам?
- 10. Чӣ тавр TypeScript забонест бо синтаксиси ихтиёрии статикӣ чопшуда?
- 11. Дар TypeScript модулҳо чӣ маъно доранд?
- 12. «enums» дар TypeScript чӣ гуна кор мекунанд?
- 13. Модули дохилиро аз модули беруна чи фарк мекунад?
- 14. Функсияи аноними TypeScript чӣ маъно дорад?
- 15. Дар TypeScript фазои ном чист ва шумо онро чӣ гуна эълон мекунед?
- 16. TypeScript кадом тағирдиҳандаҳои дастрасиро дастгирӣ мекунад?
- 17. Оё TypeScript барои аз ҳад зиёди функсияҳо иҷозат медиҳад?
- 18. Чӣ тавр TypeScript ба далелҳои ихтиёрӣ дар функсияҳо иҷозат медиҳад?
- 19. Чї тавр var, let ва const аз якдигар фарќ мекунанд?
- 20. Дар TypeScript ороишгаронро тавсиф кунед?
- 21. Дар TypeScript миксинс чи маъно дорад?
- 22. Дар TypeScript тахаллуси навъи навъи махз чист?
- 23. Истилоҳи «Тағйирёбандаи миқёс» чӣ маъно дорад?
- 24. noImplicitAny барои чӣ истифода мешавад?
- 25. Навъҳои иттиҳодия ва буриш аз ҳамдигар чӣ гуна фарқ мекунанд?
- 26. Калимаи Eclare TypeScript-ро чӣ гуна муайян мекунед?
- 27. Дар TypeScript generics чист?
- 28. JSX дар TypeScript чӣ маъно дорад?
- 29. Ambients TypeScript чист ва кай бояд онҳоро истифода барам?
- 30. Синфи абстрактӣ дар TypeScript чиро дар назар доред?
- 31. Файли Map Map TypeScript чист?
- 32. Дар TypeScript тасдиrи тип чист?
- хулоса
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 наметавонад мустақиман дар браузер ё дар ягон платформаи дигар иҷро карда шавад ва онро браузерҳо намефаҳманд. Пас платформаи мақсаднок JavaScript-и оддиро, ки аз файлҳои .ts бо истифода аз интиқолдиҳандаи TypeScript тавлид шудааст, иҷро мекунад.
2. Баъзе хусусиятҳои намоёни TypeScript кадомҳоянд?
- Навиштани статикӣ як хусусияти TypeScript мебошад, ки ба тафтиши намуд ҳангоми тартиб додан кӯмак мекунад. Ҳамин тавр, ҳатто бидуни иҷро кардани скрипт, шумо метавонед ҳангоми навиштан хатогиҳоро дар код ошкор кунед.
- DOM-ро бо истифода аз TypeScript барои илова ё хориҷ кардани ашё тағир додан мумкин аст.
- Ҳама гуна системаи амалиётӣ, аз ҷумла Windows, macOS ва Linux, метавонад компилятори TypeScript-ро насб кунад.
- Синфҳо, интерфейсҳо ва модулҳо баъзе аз функсияҳое мебошанд, ки TypeScript пешниҳод мекунанд. Ҳамин тариқ, он метавонад рамзи ба объект нигаронидашударо барои таҳияи ҳам аз ҷониби муштарӣ ва ҳам аз ҷониби сервер эҷод кунад.
- Аксарияти хусусиятҳои ECMAScript 2015 (ES 6, 7) аллакай ба TypeScript дохил карда шудаанд, аз ҷумла синф, интерфейс, функсияҳои тир ва ғайра.
- Агар шумо чопкунии динамикии JavaScript-ро истифода баред, TypeScript чопкунии статикии ихтиёриро низ дастгирӣ мекунад.
3. Баъзе бартариҳои истифодаи TypeScript кадомҳоянд?
- Ҳама гуна муҳаррик ё браузери JavaScript метавонад TypeScript-ро иҷро кунад, зеро он зуд, омӯхтан осон ва зуд кор мекунад.
- Он ҳамон синтаксис ва семантикаро ҳамчун JavaScript мубодила мекунад.
- Ин ба тезтар навиштани коди фронталӣ аз ҷониби таҳиягарони пуштибон мусоидат мекунад.
- Он дорои қобилиятҳои ES6 ва ES7 мебошад, ки метавонанд функсия дар JavaScript Муҳаррикҳои ES5 ба монанди Node.js.
- Китобхонаҳои мавҷудаи JavaScript ба монанди Jquery, D3.js ва ғайра тавассути файли Definition, ки васеъшавии.d.ts дорад, дастгирӣ карда мешаванд.
- Скрипти JavaScript, ки аллакай вуҷуд дорад, метавонад рамзи TypeScript-ро даъват кунад. Он инчунин бо чаҳорчӯбаҳо ва китобхонаҳои ҷории JavaScript бефосила ҳамгиро мешавад.
4. Баъзе камбудиҳои истифодаи TypeScript кадомҳоянд?
- Рамзгузорӣ бо TypeScript раванди тӯлонии тартибдиҳиро талаб мекунад.
- Он синфҳои абстрактиро дастгирӣ намекунад.
- Сифати файлҳои таърифи навъи як масъала аст.
- Ҳар як китобхонаи тарафи сеюм бояд файли таърифӣ дошта бошад, то истифода шавад.
- Барои табдил додани TypeScript ба JavaScript, агар мо хоҳем, ки барномаи TypeScript-ро дар браузер иҷро кунем, як қадами тартибдиҳӣ лозим аст.
- JavaScript аз ҷониби таҳиягарони веб солҳои зиёд истифода мешавад ва TypeScript ҳеҷ чизи наве пешниҳод намекунад.
5. Компонентҳои TypeScript маҳз кадомҳоянд?
Дар TypeScript се категорияи асосии ҷузъҳо мавҷуданд, аз ҷумла:
- забон: Он эзоҳҳоро барои намуд, калимаҳои калидӣ ва синтаксис дар бар мегирад.
- Compiler TypeScript: Дастурҳои TypeScript аз ҷониби ин компилятор (tsc) ба JavaScript тарҷума карда мешаванд.
- Хидмати забони TypeScript: Хадамоти забон барномаҳои ба муҳаррир монандро ҳамчун қабати дуюм дар болои раванди асосии компилятор пешниҳод мекунад. Маҷмӯи стандартии амалиёти таҳрири умумӣ аз ҷониби хидмати забон дастгирӣ карда мешавад.
6. Метавонед интерфейсҳоро дар TypeScript шарҳ диҳед?
TypeScript интерфейсҳоро барои муайян кардани синтаксиси объектҳо истифода мебарад. Ба ибораи дигар, шаклҳои додаҳо ба монанди объектҳо ё массиви ашёро бо истифода аз интерфейсҳо тавсиф кардан мумкин аст. Калимаи калидии интерфейс, номи интерфейс ва таърифи он барои эълони интерфейсҳо истифода мешавад. Биёед интерфейси асосии объекти корбарро дида бароем.
Навъи тағирёбанда пас аз он метавонад бо истифода аз интерфейс муқаррар карда шавад (ба монанди он, ки шумо намудҳои ибтидоиро ба тағирёбанда таъин мекунед). Пас аз он хосиятҳои интерфейс аз ҷониби тағирёбандаи навъи Корбар қонеъ карда мешаванд.
Лоиҳаи TypeScript-и шумо аз интерфейсҳо фоида меорад, зеро онҳо яксониро таъмин мекунанд. Илова бар ин, интерфейсҳо асбобҳои лоиҳаи шуморо тавассути такмил додани қобилиятҳои автоматии IDE такмил медиҳанд ва кафолат медиҳанд, ки арзишҳои дуруст ба созандагон ва усулҳо дода мешаванд.
7. Тағйирёбандаҳо дар TypeScript кадомҳоянд ва чӣ гуна онҳо бо роҳҳои гуногун эълон карда мешаванд?
Тағйирёбанда як минтақаи махсуси хотираи хотира мебошад, ки барои нигоҳ доштани арзишҳо истифода мешавад. Ҳангоми эълони тағирёбанда дар TypeScript пас аз номи тағирёбанда ду нуқта (:) гузошта мешавад ва пас аз он навъи он гузошта мешавад. Мо тағирёбандаҳоро бо калимаи калидии var эълон мекунем, ҳамон тавре ки дар JavaScript.
Ҳангоми эълони тағирёбанда дар Typescript бояд дастурҳои муайян риоя карда шаванд:
- Ном бо рақам оғоз шуда наметавонад.
- Номи тағирёбанда бояд ҳарфҳо ё рақамҳоро дар бар гирад.
- Рамзи доллар ($) ва зерхат (_) ягона аломатҳои махсусе мебошанд, ки дар ин майдон иҷозат дода шудаанд.
8. Барои тавлиди навъи нав як зермаҷмӯи интерфейсро чӣ гуна истифода бурдан мумкин аст?
Бо пешниҳоди намуд ё интерфейси мавҷуда ва интихоби калидҳое, ки аз навъи нав хориҷ карда мешаванд, шумо метавонед дар TypeScript бо истифода аз навъи утилитаи ҷудокунӣ навъи нав эҷод кунед.
Мисоли зерин нишон медиҳад, ки чӣ тавр сохтани навъи нав бо номи UserPreview, ки ба интерфейси корбар асос ёфтааст, аммо моликияти почтаи электрониро истисно мекунад.
9. Шумо маънои «ягон намуд»-ро дар назар доред ва кай бояд онҳоро истифода барам?
Баъзан ба шумо лозим меояд, ки арзишро дар тағирёбанда захира кунед, аммо шумо пешакӣ ба намуди тағирёбанда боварӣ надоред. Масалан, арзиш метавонад аз вуруди корбар ё дархости API сарчашма гирад. Шумо метавонед ба навъи тағирёбанда бо истифода аз навъи "ягон" ҳар як намуди арзиш диҳед.
Вақте ки навъи тағирёбанда ба таври возеҳ муайян карда нашудааст ва компилятор онро аз контекст муайян карда наметавонад, TypeScript боварӣ дорад, ки тағирёбанда навъи дилхоҳ аст.
10. Чӣ тавр TypeScript забонест бо синтаксиси ихтиёрии статикӣ чопшуда?
Ба компилятор дастур додан мумкин аст, ки навъи тағирёбандаро дар TypeScript сарфи назар кунад, зеро он ихтиёрӣ ба таври статикӣ чоп карда мешавад. Ҳама гуна намуди маълумотро барои таъин кардани ҳама гуна арзиш ба тағирёбанда истифода бурдан мумкин аст. Ҳангоми тартиб додан, TypeScript ягон санҷиши хатогиро таъмин намекунад.
11. Дар TypeScript модулҳо чӣ маъно доранд?
Бо истифода аз модулҳо гурӯҳбандӣ кардани тағирёбандаҳои мувофиқ, функсияҳо, синфҳо, интерфейсҳо ва ғайра самаранок аст. Он метавонад истифода шавад, аммо на дар миқёси ҷаҳонӣ, танҳо дар доираи худ.
Аслан, ба тағирёбандаҳо, функсияҳо, синфҳо ва интерфейсҳои муайяншудаи модул наметавонанд мустақиман аз берун аз модул дастрас шаванд.
Калимаи калидии содиротро барои сохтани модул истифода бурдан мумкин аст, дар ҳоле ки калимаи воридот метавонад барои дохил кардани модул ба модули дигар истифода шавад.
12. «enums» дар TypeScript чӣ гуна кор мекунанд?
Усули муайян кардани маҷмӯи константаҳои номбаршуда ин истифодаи рақамҳо ё намудҳои номбаршуда мебошад. Ин сохторҳои додаҳо дарозии собит ва маҷмӯи арзишҳои собит доранд.
Ҳангоми муаррифии маҷмӯи алтернативаҳо барои арзиши додашуда дар TypeScript, рақамҳо одатан барои тавсифи имкониятҳо бо истифода аз маҷмӯи ҷуфтҳои калид/арзиш истифода мешаванд.
Биёед мисоли рақамеро бубинем, ки барои таъмин намудани намудҳои гуногуни корбар истифода мешавад.
Enums ба таври дохилӣ ба объектҳои муқаррарии JavaScript тавассути TypeScript пас аз ҷамъоварӣ табдил дода мешаванд. Аз ин рӯ, истифодаи enums аз истифодаи якчанд тағирёбандаҳои алоҳидаи const афзалтар аст.
Рамзи шумо аз рӯи гурӯҳбандӣ, ки рақамҳо таъмин мекунанд, бехатар аст ва фаҳмидан осонтар аст.
13. Модули дохилиро аз модули беруна чи фарк мекунад?
Модули дохилӣ:
- Модулҳои дохилӣ хусусияти итератсияи қаблии Typescript буданд.
- Ном ва бадани модулҳои дохилӣ бо истифода аз ModuleDeclarations муайян карда мешаванд.
- Инҳо аъзои модулҳои дигар мебошанд, ки маҳаллӣ ё содиротӣ мебошанд.
- Синфҳо, интерфейсҳо, функсияҳо ва тағирёбандаҳо дар модулҳои дохилӣ гурӯҳбандӣ карда мешаванд, ки онҳоро ба модули дигар содир кардан мумкин аст.
Модули беруна:
- Дар версияи охирин, модулҳои беруна ҳамчун модулҳо номида мешаванд.
- Барои сохтани онҳо файли сарчашмаи ҷудогона, ки бо номи модули беруна маълум аст, истифода мешавад ва ҳар яке ҳадди аққал як эъломияи воридот ё содирот дорад.
- Дар версияи охирин, модулҳои беруна ҳамчун модулҳо номида мешаванд.
- Изҳороти дохилии таърифҳои модулро метавон бо истифода аз модулҳои беруна пинҳон кард ва танҳо усулҳо ва далелҳои вобаста ба тағирёбандаи муайяншуда намоён боқӣ мемонад.
14. Функсияи аноними TypeScript чӣ маъно дорад?
Функсияҳои ҳамчун номаълум таснифшуда номи функсияро ҳамчун идентификатор надоранд. Ин реҷаҳо дар давоми вақти корӣ ба таври динамикӣ муайян карда мешаванд. Мисли функсияҳои муқаррарӣ, функсияҳои номаълум метавонанд воридотро гиранд ва натиҷаҳо ба даст оранд.
Функсияи номаълум одатан пас аз офаридани он дастнорас аст. Тағирёбандаҳоро метавон ба вазифаи номаълум таъин кард.
15. Дар TypeScript фазои ном чист ва шумо онро чӣ гуна эълон мекунед?
Фазои номҳо функсияҳоро мантиқӣ гурӯҳбандӣ мекунад. Инҳо коди мероси чопиро дар дохили худ нигоҳ медоранд. Он хислатҳо ва чизҳои дорои робитаҳои мушаххасро дар бар мегирад.
Номи дигари фазои ном модули дохилӣ мебошад. Интерфейсҳо, синфҳо, функсияҳо ва тағирёбандаҳо ҳама метавонанд ба фазои ном дохил карда шаванд, то маҷмӯи функсияҳои пайвастшударо таъмин кунанд.
16. TypeScript кадом тағирдиҳандаҳои дастрасиро дастгирӣ мекунад?
Дар зер намунаҳое оварда шудаанд, ки чӣ гуна тағирдиҳандаҳои дастрасии ҷамъиятӣ, хусусӣ ва муҳофизатшаванда дар TypeScript метавонанд барои назорат кардани дастрасии аъзои синф истифода шаванд:
- Омма - Дастрасӣ барои ҳар як узви синф, ҳамаи синфҳои насли он ва ҳар як мисоли синф дастрас аст.
- Муҳофизатшуда - Онҳо барои ҳар як узви синф ва ҳамаи зерсинфҳои он дастрасанд. Аммо, як мисоли синф наметавонад дастрасӣ пайдо кунад.
- Дастрасии хусусӣ ба онҳо танҳо барои аъзоёни синф маҳдуд аст.
Азбаски JavaScript қулай аст, агар тағирдиҳандаи дастрасӣ дода нашавад, он маъмул аст.
17. Оё TypeScript барои аз ҳад зиёди функсияҳо иҷозат медиҳад?
Бале, аз ҳад зиёди функсия тавассути TypeScript дастгирӣ карда мешавад. Аммо ҳоло ин кор аҷиб аст. Аз ин рӯ, ҳангоми аз ҳад зиёд бор кардан бо TypeScript, танҳо як татбиқ бо имзоҳои гуногун мавҷуд аст.
Дар ҳоле ки имзои дуюм дорои параметри навъи матн аст, имзои аввал танҳо як параметри рақами навъи дорад. Функсияи сеюм, ки аргументи навъи any-ро дар бар мегирад, татбиқи воқеиро дар бар мегирад.
Пас аз он татбиқ навъи параметри пешниҳодшударо муайян мекунад ва мувофиқи ин муайянкунӣ қисмати алоҳидаи кодро иҷро мекунад.
18. Чӣ тавр TypeScript ба далелҳои ихтиёрӣ дар функсияҳо иҷозат медиҳад?
Бар хилофи JavaScript, агар шумо кӯшиш кунед, ки функсияро бидуни муайян кардани миқдор ва намуди параметрҳое, ки дар имзои функсияи он зикр шудааст, даъват кунед, компилятори TypeScript хато мекунад.
Шумо метавонед параметрҳои ихтиёриро бо истифода аз рамзи аломати савол ('?') барои ҳалли ин масъала истифода баред. Он нишон медиҳад, ки параметрҳои ихтиёриро бо иловаи “?” ишора кардан мумкин аст. ба онҳое, ки метавонанд арзиш гиранд ё не.
19. Чї тавр var, let ва const аз якдигар фарќ мекунанд?
Се роҳи гуногуни эълон кардани тағирёбанда аз ҷониби TypeScript пешниҳод карда мешавад, ки ҳар кадоми онҳо замимаи пешниҳодшуда доранд.
var: Тағирёбандаи глобалӣ ё миқёси функсионалӣ бо рафтор ва дастурҳои миқёси тағирёбандаҳои JavaScript эълон мекунад. Тағйирёбандаҳо лозим нестанд, ки ҳангоми эълон кардани онҳо арзишҳои онҳо муқаррар карда шаванд.
бигзор: як тағирёбандаи блоки миқёси маҳаллӣ эълон мекунад. Бигзор тағирёбандаҳо ҳангоми эълон кардани онҳо ба арзиши тағирёбанда ниёз надоранд. Истилоҳи "тағйирёбандаи маҳаллӣ, ки аз рӯи блок иборат аст" ба тағирёбандае дахл дорад, ки онро танҳо аз дохили блоке, ки дар он ҷойгир аст, дастрас кардан мумкин аст, ба монанди функсия, блоки if/else ё давр. Бигзор тағирёбандаҳоро пеш аз эълон шуданашон хондан ё навиштан мумкин нест, дар муқоиса бо var.
const: Қиматро барои як константи аз рӯи блок фаро гирифташуда эълон мекунад, ки пас аз оғоз кардани он тағир дода намешавад. Пеш аз эълон шудан, тағирёбандаҳои Const бояд оғоз карда шаванд. Барои тағирёбандаҳое, ки дар давоми тамоми мавҷудияти худ доимӣ мемонанд, ин беҳтарин аст.
20. Дар TypeScript ороишгаронро тавсиф кунед?
Аксессор, амвол, параметр, синф, функсия ё ороишгар ҳама метавонанд ба таври мушаххас ҳамчун ороишгар эълон карда шаванд. Декораторҳо функсияҳо бо префикси @expression мебошанд, ки дар вақти корӣ бо тафсилот дар бораи эъломияи ороишёфта истифода мешаванд.
Ифода бояд функсияро баҳо диҳад, то ороишгарон кор кунанд.
Decorators TypeScript ҳадафи ба таври декларативӣ илова кардани эзоҳҳо ва иттилоотро ба рамзи ҷорӣ таъмин мекунанд.
Дар файли tsconfig.json мо ё дар сатри фармон, шумо бояд опсияи компилятори эксперименталДекораторҳоро фаъол созед, то дастгирии таҷрибавӣ барои ороишгаронро фаъол созед:
21. Дар TypeScript миксинс чи маъно дорад?
Миксинҳо як усули сохтани синфҳо аз қисмҳои дубора истифодашаванда дар Javascript ва омехта кардани синфҳои қисман барои сохтани синфҳои пурраи мураккабтар мебошанд.
Мафҳум оддӣ аст: функсияи B синфи А-ро қабул мекунад ва синфи навро бо функсияи он илова мекунад, дар муқоиса бо синфи А, ки синфи В васеъ карда мешавад, то функсияи онро ба даст орад. Функсияи В дар ин ҳолат омехта аст.
22. Дар TypeScript тахаллуси навъи навъи махз чист?
Номи тахаллусҳои навъи навъи номро тағир медиҳанд. Номҳои тахаллусҳои навъи, ба монанди интерфейсҳо, метавонанд барои номгузории ибтидоӣ, иттифоқҳо, кортаҳо ва ҳама навъҳои дигар, ки дар акси ҳол бояд дастӣ муайян карда шаванд, истифода шавад.
Алиасинг навъи навро эҷод намекунад; балки номи навъи мавчударо дигар мекунад. Тақаллуби ибтидоӣ воқеан амалӣ нест, гарчанде ки он метавонад барои ҳуҷҷатгузорӣ муфид бошад.
Номҳои тахаллусҳои навъи, ба монанди интерфейсҳо, метавонанд универсалӣ бошанд; танҳо ба шумо лозим аст, ки параметрҳои навъи илова кунед ва онҳоро дар тарафи рости эъломияи тахаллус истифода баред.
23. Истилоҳи «Тағйирёбандаи миқёс» чӣ маъно дорад?
JavaScript ҳам тағирёбандаҳои миқёси маҳаллӣ ва глобалиро дастгирӣ мекунад. Миқёс маҷмӯи объектҳо, тағирёбандаҳо ва функсияҳо мебошад.
Намунаи эълон кардани тағирёбанда дар ду миқёс ин аст:
- Тағйирёбанда бо доираи маҳаллӣ - Он ҳамчун объекти функсия барои истифода дар дохили функсияҳо хизмат мекунад.
- Тағйирёбанда бо доираи глобалӣ - Ин объекти равзана метавонад ҳам дар дохил ва ҳам берун аз функсияҳо истифода шавад
24. noImplicitAny барои чӣ истифода мешавад?
Муносибати компилятори TypeScript ба ҳама гуна намуди лоиҳаи шумо аз ҷониби моликияти noImplicitAny дар файли конфигуратсияи tsconfig.json барои лоиҳаҳои TypeScript тағир дода мешавад.
Парчами noImplicitAny метавонад ба ҳақиқӣ ё бардурӯғ таъин карда шавад ва пас аз оғозёбӣ ҳамеша тағирёбанда аст. Бо назардошти он, ки ҳар як лоиҳа беназир аст, дар бораи он ки ин рақам бояд чӣ гуна бошад, ҷавоби дуруст ё нодуруст вуҷуд надорад.
Фаҳмидани фарқияти байни ҳолати фурӯзон ва хомӯшии парчам метавонад ба шумо дар интихоби кадом танзимот барои парчам кӯмак расонад.
Компилятор навъи тағирёбандаро вобаста ба тарзи истифодабарии он муайян намекунад, агар парчами noImplicitAny ба бардурӯғ таъин шуда бошад (пешфарз). Навъи ба ҷои дилхоҳ аз ҷониби компилятор бо нобаёнӣ муқаррар карда мешавад.
Аммо, агар опсияи noImplicitAny ба true муқаррар карда шуда бошад, компилятор барои хулосабарории намуд саъй мекунад ва агар ин корро карда натавонад, хатои вақти компиляцияро зиёд мекунад.
25. Навъҳои иттиҳодия ва буриш аз ҳамдигар чӣ гуна фарқ мекунанд?
Ба ҷои тавлиди навъҳои нав аз сифр, намудҳои иттиҳодияҳо ва чорроҳаҳо ба шумо имкон медиҳанд, ки навъҳои мавҷударо созед ва омехта кунед. Ҳам иттифоқ ва ҳам буриш дорои хислатҳои фарқкунанда мебошанд, ки онҳоро барои ҳолатҳои муайяни истифода комил мегардонанд.
Навъе, ки метавонад яке аз якчанд намуд бошад, навъи иттифоқ номида мешавад. Рӯйхати намудҳое, ки дар намуди нав истифода мешаванд, бо истифода аз | (бар амудӣ) аломат дар намудҳои иттифоқ.
Биёед як мисолро бубинем:
Аз тарафи дигар, буриш ҳамчун навъе муайян карда мешавад, ки бисёр намудҳоро ба як муттаҳид мекунад ва ҳамаи хусусиятҳои ҳар як намудро барои ташкили як навъи нав муттаҳид мекунад. Рӯйхати намудҳое, ки якҷоя карда мешаванд, бо истифода аз аломати & ба чорроҳаҳо тақсим карда мешавад.
Биёед як мисолро дида бароем:
26. Калимаи Eclare TypeScript-ро чӣ гуна муайян мекунед?
Дар китобхонаҳо ё чаҳорчӯбаҳои JavaScript ягон файли эъломияи TypeScript вуҷуд надорад. Бо вуҷуди ин, шумо бояд калимаи калидии declare-ро истифода баред, то онҳоро дар файли TypeScript бе ягон хатогиҳои компиляция дучор нашавед.
Вақте ки шумо мехоҳед тағирёбандаеро, ки аллакай дар ҷои дигар вуҷуд дорад, муайян кунед, шумо калимаи калидии declare-ро дар эъломияҳо ва усулҳои муҳити атроф истифода мебаред.
27. Дар TypeScript generics чист?
Воситае бо номи TypeScript Generics усули истеҳсоли қисмҳои дубора истифодашавандаро пешниҳод мекунад. Ба ҷои кор кардан бо як шакли маълумот, он метавонад ҷузъҳоеро таҳия кунад, ки метавонанд бо як қатор намудҳои додаҳо кор кунанд.
Илова бар ин, он бехатарии намудро бидуни қурбонии самаранокӣ ё маҳсулнокӣ пешниҳод мекунад. Мо метавонем ба шарофати генерикҳо синфҳои умумӣ, функсияҳои умумӣ, усулҳои умумӣ ва интерфейсҳои умумӣ созем.
Генерикҳо маҷмӯаҳои хеле чопшуда мебошанд, зеро параметри навъи дар байни қавсҳои кушода () ва пӯшида (>) навишта мешавад. Он як навъи беназири тағирёбандаи типро бо номи T истифода мебарад, ки барои намудҳо тааллуқ дорад.
28. JSX дар TypeScript чӣ маъно дорад?
JSX як JavaScript-и қонунист, ки онро аз синтаксиси дохилшавандаи ба XML монанд табдил додан мумкин аст. Дар баробари чаҳорчӯбаи React, JSX маъруфият пайдо кард.
Ҷамъоварии мустақим, санҷиши намуд ва воридкунии JSX ба JavaScript тавассути TypeScript дастгирӣ карда мешавад. Шумо бояд ба файли худ васеъшавии a.tsx диҳед ва агар шумо хоҳед, ки онро истифода баред, имконоти JSX-ро фаъол созед.
29. Ambients TypeScript чист ва кай бояд онҳоро истифода барам?
Тартибдиҳанда дар бораи рамзи аслии аслӣ, ки дар ҷои дигар тавассути эъломияҳои муҳити зист ҷойгир аст, огоҳ карда мешавад.
Он бе огоҳии пешакӣ вайрон мешавад, агар мо кӯшиш кунем, ки ин рамзҳои манбаъро дар вақти кор истифода барем, аммо онҳо мавҷуд нестанд. Файлҳои ба ҳуҷҷат монанд файлҳои эъломияи муҳити атроф мебошанд.
Агар манбаъ тағир ёбад, ҳуҷҷатҳо бояд нав карда шаванд ва агар файли эъломияи муҳити атроф тағир наёбад, мушкилоти компилятор ба миён меояд.
Илова бар ин, он ба мо имкон медиҳад, ки китобхонаҳои маъруфи JavaScript-ро, ки аллакай васеъ истифода мешаванд, ба мисли jQuery, AngularJS, NodeJS ва ғайра истифода барем.
30. Синфи абстрактӣ дар TypeScript чиро дар назар доред?
Синфҳои абстрактӣ шартномаи объектро бидуни иҷозати эҷоди бевоситаи объект муайян мекунанд. Аммо, синфи абстрактӣ инчунин метавонад иттилооти амалисозии аъзои худро пешниҳод кунад.
Як ё якчанд аъзои абстрактро дар синфи абстрактӣ ёфтан мумкин аст. Аъзои абстрактии суперкласс бояд амалияе дошта бошанд, ки аз ҷониби ҳама гуна синфҳо таъмин карда мешаванд, ки синфи абстрактиро васеъ мекунанд.
Биёед намунаи TypeScript-ро дар бораи синфи абстрактӣ бубинем ва чӣ гуна синфи дигар онро васеъ карда метавонад. Гарчанде ки синфҳои Мошин ва Велосипед дар мисоли дар поён овардашуда синфи Vehicle-ро васеъ мекунанд, ҳар кадоми онҳо функсияи drive()-ро ба таври беназир иҷро мекунанд.
31. Файли Map Map TypeScript чист?
Файли харитаи сарчашма бо номи файли TypeScript Map дорои маълумот дар бораи файлҳои аслии мо мебошад. Файлҳои харитаи манбаъ ё файлҳои .map ба асбобҳо имкон медиҳанд, ки байни коди JavaScript-и баромад ва файлҳои сарчашмаи TypeScript, ки онро тавлид кардаанд, харита кунанд.
Илова бар ин, ин файлҳо метавонанд аз ҷониби debuggers истеъмол карда шаванд, ки ба мо имкон медиҳад, ки ба ҷои файли JavaScript, файли TypeScript-ро ислоҳ кунем.
32. Дар TypeScript тасдиrи тип чист?
Дар ҳоле ки тасдиқи навъи тип ба монанди чопкунии забонҳои дигар ба монанди C# ва Java амал мекунад, он санҷиши намуд ё азнавташкилдиҳии маълумотро иҷро намекунад.
Дар ҳоле ки тасдиқи намуд ба вақти кор таъсир намерасонад, навъи casting ин дастгирӣро пешниҳод мекунад. Аз тарафи дигар, тасдиқҳои типӣ танҳо аз ҷониби компилятор истифода мешаванд ва роҳнамоӣ мекунанд, ки мо мехоҳем коди мо тафтиш карда шавад.
хулоса
Хулоса, мо умедворем, ки ин саволҳои мусоҳибаи TypeScript барои шумо муфид хоҳанд буд, новобаста аз он ки шумо таҳиякунанда барои мусоҳибаи корӣ омода ҳастед ё менеҷери кироя, ки кӯшиши пайдо кардани беҳтарин довталаб ҳастед.
Дар хотир доред, ки раванди ҷалб на танҳо таҷрибаи техникиро дар бар мегирад. Барои боварӣ ҳосил кардан, ки шумо ба кор фуруд меоред (ё довталаби мувофиқро барои он ҷойгир кунед), таҷрибаҳои гузашта ва малакаҳои нарм яксон муҳиманд.
Бисёр саволҳои мусоҳибаи TypeScript кушодаанд ва як ҷавоби дуруст надоранд, аз ин рӯ инро дар хотир нигоҳ доред.
Мусоҳибон ба далелҳои паси ҷавобҳои шумо таваҷҷӯҳ доранд.
Ҳамеша барои пурсишҳои пайгирӣ, ки чӣ тавр ба ҷавоби худ расидаед, омода бошед. Раванди фикрронии худро тавсиф кунед.
Дин ва мазҳаб