පටුන[සඟවන්න][පෙන්වන්න]
- 1. TypeScript යනු කුමක්ද සහ එය JavaScript වලින් වෙනස් වන්නේ කෙසේද?
- 2. TypeScript හි සැලකිය යුතු විශේෂාංග මොනවාද?
- 3. TypeScript භාවිතා කිරීමේ සමහර වාසි මොනවාද?
- 4. TypeScript භාවිතා කිරීමේ සමහර අවාසි මොනවාද?
- 5. හරියටම TypeScript හි සංරචක මොනවාද?
- 6. ඔබට TypeScript හි අතුරුමුහුණත් පැහැදිලි කළ හැකිද?
- 7. TypeScript හි ඇති විචල්යයන් මොනවාද සහ ඒවා විවිධ ආකාරවලින් ප්රකාශ කරන්නේ කෙසේද?
- 8. නව වර්ගයක් ජනනය කිරීමට අතුරු මුහුණතක උප කුලකයක් භාවිතා කරන්නේ කෙසේද?
- 9. 'ඕනෑම' වර්ග යන්නෙන් ඔබ අදහස් කරන්නේ කුමක්ද සහ මා ඒවා භාවිතා කළ යුත්තේ කවදාද?
- 10. TypeScript යනු විකල්ප ස්ථිතික ලෙස ටයිප් කරන ලද වාක්ය ඛණ්ඩ සහිත භාෂාවක් වන්නේ කෙසේද?
- 11. TypeScript හි, මොඩියුල යන්නෙන් අදහස් කරන්නේ කුමක්ද?
- 12. TypeScript හි "enums" ක්රියා කරන්නේ කෙසේද?
- 13. බාහිර මොඩියුලයකින් අභ්යන්තර මොඩියුලය වෙන්කර හඳුනා ගන්නේ කුමක් ද?
- 14. TypeScript's Anonymous Function යන්නෙන් අදහස් කරන්නේ කුමක්ද?
- 15. TypeScript හි, නාම අවකාශයක් යනු කුමක්ද සහ ඔබ එය ප්රකාශ කරන්නේ කෙසේද?
- 16. TypeScript සහාය දක්වන ප්රවේශ විකරණයන් මොනවාද?
- 17. ටයිප්ස්ක්රිප්ට් ක්රියාකාරීත්වය අධික ලෙස පැටවීමට ඉඩ දෙයිද?
- 18. TypeScript ශ්රිතවල විකල්ප තර්කවලට ඉඩ දෙන්නේ කෙසේද?
- 19. var, let, සහ const එකකින් එකක් වෙනස් වන්නේ කෙසේද?
- 20. TypeScript හි, සැරසිලි කරුවන් විස්තර කරන්න?
- 21. TypeScript හි, Mixins යන්නෙන් අදහස් කරන්නේ කුමක්ද?
- 22. TypeScript හි Type Aliases යනු කුමක්ද?
- 23. "Scope variable" යන යෙදුමෙන් අදහස් කරන්නේ කුමක්ද?
- 24. හරියටම noImplicitAny භාවිතා කරන්නේ කුමක් සඳහාද?
- 25. එකමුතු සහ ඡේදනය වර්ග එකිනෙකට වෙනස් වන්නේ කෙසේද?
- 26. TypeScript Declare Keyword එකක් ඔබ නිර්වචනය කරන්නේ කෙසේද?
- 27. TypeScript හි, Generics යනු කුමක්ද?
- 28. JSX TypeScript හි අදහස් කරන්නේ කුමක්ද?
- 29. TypeScript Ambients යනු කුමක්ද සහ මා ඒවා භාවිතා කළ යුත්තේ කවදාද?
- 30. TypeScript හි වියුක්ත පන්තිය යන්නෙන් ඔබ අදහස් කරන්නේ කුමක්ද?
- 31. TypeScript Map ගොනුවක් යනු කුමක්ද?
- 32. TypeScript හි, වර්ග ප්රකාශයන් මොනවාද?
- නිගමනය
මයික්රොසොෆ්ට් ටයිප්ස්ක්රිප්ට් ක්රමලේඛන භාෂාව සංවර්ධනය කර දිගටම සහාය දක්වයි. ස්ථිතික ටයිප් කිරීම විකල්පයක් ලෙස එකතු කිරීමත් සමඟ, එය JavaScript හි වාක්ය ඛණ්ඩ සුපිරි කට්ටලයකි.
මහා පරිමාණ යෙදුම් සංවර්ධන භාෂාව TypeScript ජාවාස්ක්රිප්ට් සම්පාදනය කරයි. ටයිප්ස්ක්රිප්ට් යනු ජාවාස්ක්රිප්ට් හි සුපිරි කට්ටලයක් බැවින්, ජාවාස්ක්රිප්ට් හි ලියා ඇති වැඩසටහන් ටයිප්ස්ක්රිප්ට් තුළ ද වලංගු වේ.
මෙන්න ඔබ එකකට සහභාගී වන්නේ නම් වඩාත් සාමාන්ය TypeScript සංවර්ධක සම්මුඛ සාකච්ඡා ප්රශ්න සහ ප්රතිචාර පිළිබඳ සවිස්තර ලැයිස්තුවකි.
1. TypeScript යනු කුමක්ද සහ එය JavaScript වලින් වෙනස් වන්නේ කෙසේද?
JavaScript හි සුපිරි කට්ටලයක්, TypeScript සම්මත JavaScript වෙත සම්පාදනය කරයි. සංකල්පීය දෘෂ්ටි කෝණයකින්, TypeScript සහ JavaScript SASS සහ CSS වලට සමාන වේ.
වෙනත් වචන වලින් කිවහොත්, TypeScript යනු තවත් හැකියාවන් කිහිපයක් සහිත ES6 JavaScript වේ. ජාවාස්ක්රිප්ට් යනු පයිතන් හා සමාන ස්ක්රිප්ටින් භාෂාවක් වන අතර, ටයිප්ස්ක්රිප්ට් යනු ජාවා සහ සී# සමඟ සැසඳිය හැකි වස්තු-නැඹුරු, ස්ථිතික ලෙස ටයිප් කළ භාෂාවකි.
පන්ති සහ අතුරුමුහුණත් සියල්ලම TypeScript හි වස්තු-නැඹුරු නිර්මාණයේ කොටසක් වන අතර, එහි ස්ථිතික ටයිප් කිරීමට ස්තුතිවන්ත විය හැකි බොහෝ මෙවලම්වලින් වර්ගය අනුමාන කිරීම එකකි.
JavaScript ලියා ඇත්තේ .js දිගුවක් සහිත ගොනුවක වන අතර TypeScript ලියා ඇත්තේ .ts දිගුවක් සහිත ගොනුවක ය.
ජාවාස්ක්රිප්ට් වලට පටහැනිව, ටයිප්ස්ක්රිප්ට් කේතය බ්රවුසරයක හෝ වෙනත් වේදිකාවක සෘජුවම ක්රියාත්මක කළ නොහැකි අතර බ්රව්සර් විසින් එය තේරුම් නොගනී. ඉලක්ක වේදිකාව පසුව TypeScript හි සම්ප්රේෂකය භාවිතයෙන් .ts ගොනු වලින් ජනනය කරන ලද සරල JavaScript ධාවනය කරයි.
2. TypeScript හි සැලකිය යුතු විශේෂාංග මොනවාද?
- ස්ථිතික ටයිප් කිරීම ටයිප්ස්ක්රිප්ට් හි විශේෂාංගයක් වන අතර එය සම්පාදනය කිරීමේදී අකුරු පරීක්ෂා කිරීමට උපකාරී වේ. එබැවින්, ස්ක්රිප්ට් ක්රියාත්මක නොකර වුවද, ඔබ එය ලියන විට කේතයේ වැරදි හඳුනාගත හැකිය.
- අයිතම එකතු කිරීමට හෝ ඉවත් කිරීමට TypeScript භාවිතයෙන් DOM වෙනස් කළ හැක.
- Windows, macOS සහ Linux ඇතුළු ඕනෑම මෙහෙයුම් පද්ධතියකට TypeScript සම්පාදකය ස්ථාපනය කර තිබිය හැක.
- පන්ති, අතුරුමුහුණත් සහ මොඩියුල යනු TypeScript මගින් පිරිනමනු ලබන සමහර ක්රියාකාරීත්වයන් වේ. එමගින් සේවාලාභියා-පාර්ශවීය සහ සේවාදායක-පාර්ශවීය සංවර්ධනය සඳහා වස්තු-නැඹුරු කේතයක් නිර්මාණය කළ හැකිය.
- ECMAScript 2015 (ES 6, 7) හි බොහෝ විශේෂාංග දැනටමත් TypeScript තුළ ඇතුළත් කර ඇත, පන්තිය, අතුරුමුහුණත, ඊතල ශ්රිත, ආදිය.
- ඔබ JavaScript හි ගතික ටයිප් කිරීම භාවිතා කරන්නේ නම්, TypeScript විකල්ප ස්ථිතික ටයිප් කිරීමටද සහය දක්වයි.
3. TypeScript භාවිතා කිරීමේ සමහර වාසි මොනවාද?
- ඕනෑම ජාවාස්ක්රිප්ට් එන්ජිමක් හෝ බ්රවුසරයකට ටයිප්ස්ක්රිප්ට් ක්රියාත්මක කළ හැක, මන්ද එය ඉක්මන්, ඉගෙනීමට පහසු සහ ඉක්මනින් ක්රියාත්මක වේ.
- එය ජාවාස්ක්රිප්ට් මෙන් එකම වාක්ය ඛණ්ඩ සහ අර්ථකථන බෙදා ගනී.
- මෙය පසුපෙළ සංවර්ධකයින් විසින් ඉදිරිපස-අන්ත කේතය වේගයෙන් ලිවීමට පහසුකම් සපයයි.
- එය කළ හැකි ES6 සහ ES7 හැකියාවන් ඇතුළත් වේ JavaScript හි ක්රියාකාරිත්වය Node.js වැනි ES5 එන්ජින්.
- Jquery, D3.js වැනි දැනට පවතින JavaScript පුස්තකාල සඳහා සහය දක්වන්නේ.d.ts දිගුව ඇති Definition ගොනුව හරහාය.
- දැනටමත් පවතින JavaScript ස්ක්රිප්ට් එකකට TypeScript කේතය යෙදිය හැක. එය වත්මන් ජාවාස්ක්රිප්ට් රාමු සහ පුස්තකාල සමඟ බාධාවකින් තොරව ඒකාබද්ධ වේ.
4. TypeScript භාවිතා කිරීමේ සමහර අවාසි මොනවාද?
- TypeScript සමඟ කේතනය කිරීම සඳහා දීර්ඝ සම්පාදන ක්රියාවලියක් අවශ්ය වේ.
- එය වියුක්ත පන්ති සඳහා සහය නොදක්වයි.
- ටයිප් ඩෙෆිනිෂන් ගොනුවල ගුණාත්මක භාවය ගැටලුවකි.
- ඕනෑම තෙවන පාර්ශවීය පුස්තකාලයක් භාවිතා කිරීම සඳහා නිර්වචන ගොනුවක් තිබිය යුතුය.
- අපට බ්රවුසරයේ TypeScript යෙදුම ධාවනය කිරීමට අවශ්ය නම් TypeScript JavaScript බවට පරිවර්තනය කිරීමට සම්පාදන පියවරක් අවශ්ය වේ.
- JavaScript වසර ගණනාවක් තිස්සේ වෙබ් සංවර්ධකයින් විසින් භාවිතා කර ඇති අතර TypeScript අලුත් කිසිවක් සපයන්නේ නැත.
5. හරියටම TypeScript හි සංරචක මොනවාද?
TypeScript හි, ප්රධාන කොටස් තුනක් ඇත, ඒවා ඇතුළුව:
- භාෂා: එහි වර්ගය, මූල පද සහ වාක්ය ඛණ්ඩය සඳහා විවරණ ඇතුළත් වේ.
- TypeScript Compiler: 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 හි "enums" ක්රියා කරන්නේ කෙසේද?
නම් කරන ලද නියතයන්ගේ එකතුවක් නිර්වචනය කිරීමේ ක්රමයක් නම් enums හෝ ගණන් කළ වර්ග භාවිතා කිරීමයි. මෙම දත්ත ව්යුහයන්ට ස්ථාවර දිගක් සහ ස්ථාවර අගයන් එකතුවක් ඇත.
TypeScript හි දී ඇති අගයක් සඳහා විකල්ප එකතුවක් නියෝජනය කරන විට, යතුරු/අගය යුගල කට්ටලයක් භාවිතා කර ඇති හැකියාව විස්තර කිරීමට enums නිතර භාවිතා වේ.
විවිධ පරිශීලක වර්ග සැපයීමට භාවිතා කරන enum එකක නිදර්ශනයක් බලමු.
Enums සම්පාදනය කිරීමෙන් පසුව TypeScript මගින් අභ්යන්තරව සාමාන්ය JavaScript වස්තු බවට පරිවර්තනය වේ. එබැවින් වෙන වෙනම const විචල්ය කිහිපයක් භාවිතා කිරීමට වඩා enums භාවිතය වඩාත් සුදුසුය.
enums සපයන සමූහකරණය නිසා ඔබේ කේතය ටයිප්-ආරක්ෂිත සහ තේරුම් ගැනීමට පහසු වේ.
13. බාහිර මොඩියුලයකින් අභ්යන්තර මොඩියුලය වෙන්කර හඳුනා ගන්නේ කුමක් ද?
අභ්යන්තර මොඩියුලය:
- අභ්යන්තර මොඩියුල Typescript හි පෙර පුනරාවර්තනයේ ලක්ෂණයක් විය.
- අභ්යන්තර මොඩියුලවල නම සහ ශරීරය ModuleDeclarations භාවිතයෙන් අර්ථ දක්වා ඇත.
- මේවා දේශීය හෝ අපනයනය කරන ලද අනෙකුත් මොඩියුලවල සාමාජිකයින් වේ.
- පන්ති, අතුරුමුහුණත්, ශ්රිත සහ විචල්ය වෙනත් මොඩියුලයකට අපනයනය කළ හැකි අභ්යන්තර මොඩියුලවල කාණ්ඩගත කර ඇත.
බාහිර මොඩියුලය:
- නවතම අනුවාදයේ, බාහිර මොඩියුල මොඩියුල ලෙස හැඳින්වේ.
- ඒවා නිර්මාණය කිරීම සඳහා බාහිර මොඩියුලයක් ලෙස හැඳින්වෙන වෙනම මූලාශ්ර ගොනුවක් භාවිතා කරන අතර, ඒ සෑම එකක්ම අවම වශයෙන් එක් ආනයන හෝ අපනයන ප්රකාශයක් ඇත.
- නවතම අනුවාදයේ, බාහිර මොඩියුල මොඩියුල ලෙස හැඳින්වේ.
- බාහිර මොඩියුල භාවිතයෙන් මොඩියුල අර්ථ දැක්වීම්වල අභ්යන්තර ප්රකාශයන් සැඟවිය හැක, අර්ථ දක්වා ඇති විචල්යයට සම්බන්ධ ක්රම සහ තර්ක පමණක් දෘශ්යමාන වේ.
14. TypeScript's Anonymous Function යන්නෙන් අදහස් කරන්නේ කුමක්ද?
නිර්නාමික ලෙස වර්ගීකරණය කරන ලද ශ්රිතවලට හඳුනාගැනීමක් ලෙස ශ්රිත නාමයක් නොමැත. මෙම චර්යාවන් ධාවන කාලය තුළ ගතිකව අර්ථ දක්වා ඇත. නිත්ය ශ්රිත මෙන්ම, නිර්නාමික ශ්රිතවලටද යෙදවුම් ලබාගෙන ප්රතිඵල නිපදවිය හැක.
නිර්නාමික ශ්රිතයක් නිර්මාණය කළ පසු සාමාන්යයෙන් ළඟා විය නොහැක. විචල්යයන් නිර්නාමික ශ්රිතයකට පැවරිය හැක.
15. TypeScript හි, නාම අවකාශයක් යනු කුමක්ද සහ ඔබ එය ප්රකාශ කරන්නේ කෙසේද?
නාම අවකාශය තාර්කිකව ක්රියාකාරීත්වය සමූහ කරයි. මේවා අභ්යන්තරව යතුරු ලියනය උරුම කේතය ආරක්ෂා කරයි. එය විශේෂිත සම්බන්ධතා සහිත ගතිලක්ෂණ සහ දේවල් ඇතුළත් වේ.
නාම අවකාශයක් සඳහා තවත් නමක් යනු අභ්යන්තර මොඩියුලයකි. සම්බන්ධිත ක්රියාකාරීත්වයේ එකතුවක් සැපයීම සඳහා අතුරුමුහුණත්, පන්ති, ශ්රිත සහ විචල්ය සියල්ල නාම අවකාශයකට ඇතුළත් කළ හැක.
16. TypeScript සහාය දක්වන ප්රවේශ විකරණයන් මොනවාද?
පන්ති සාමාජිකයෙකුගේ ප්රවේශ්යතාව පාලනය කිරීමට TypeScript හි ඇති පොදු, පුද්ගලික සහ ආරක්ෂිත ප්රවේශ විකරණකාරක භාවිතා කළ හැකි ආකාරය පිළිබඳ උදාහරණ පහත දැක්වේ:
- පොදු - ප්රවේශය පන්තියේ සෑම සාමාජිකයෙකුටම, එහි පැවත එන පන්ති සියල්ලටම, සහ පන්තියේ සෑම අවස්ථාවකටම ඇත.
- ආරක්ෂිත - ඒවා පන්තියේ සෑම සාමාජිකයෙකුටම සහ එහි සියලුම උපපංතිවලට ප්රවේශ විය හැකිය. කෙසේ වෙතත්, පන්ති අවස්ථාවක් ප්රවේශ විය නොහැක.
- පුද්ගලික-ඒවා වෙත ප්රවේශය පන්ති සාමාජිකයින්ට පමණක් සීමා වේ.
JavaScript පහසු බැවින්, ප්රවේශ විකරණයක් ලබා නොදෙන්නේ නම්, එය පොදු යැයි උපකල්පනය කෙරේ.
17. ටයිප්ස්ක්රිප්ට් ක්රියාකාරීත්වය අධික ලෙස පැටවීමට ඉඩ දෙයිද?
ඔව්, Function overloading TypeScript මගින් සහය දක්වයි. ඒත් දැන් ඒක කරන එක අමුතුයි. එබැවින්, TypeScript සමඟ අධික ලෙස පැටවීමේදී, විවිධ අත්සන් සහිත එක් ක්රියාත්මක කිරීමක් පමණක් ඇත.
දෙවන අත්සනෙහි අකුරු වර්ගයෙහි පරාමිතියක් අඩංගු වන අතර, පළමු අත්සනෙහි ඇත්තේ අංක වර්ගයේ එක් පරාමිතියක් පමණි. ඕනෑම වර්ගයක තර්කයක් ඇතුළත් තෙවන ශ්රිතයේ සත්ය ක්රියාත්මක කිරීම අඩංගු වේ.
ක්රියාත්මක කිරීම මඟින් සපයන ලද පරාමිතියේ වර්ගය තීරණය කරන අතර එම තීරණයට අනුකූලව වෙනම කේතයක් ක්රියාත්මක කරයි.
18. TypeScript ශ්රිතවල විකල්ප තර්කවලට ඉඩ දෙන්නේ කෙසේද?
ජාවාස්ක්රිප්ට් වලට පටහැනිව, ඔබ එහි ක්රියාකාරී අත්සනෙහි දක්වා ඇති පරිදි නිශ්චිත ප්රමාණය සහ පරාමිති වර්ග සඳහන් නොකර ශ්රිතයක් ඇමතීමට උත්සාහ කරන්නේ නම්, ටයිප්ස්ක්රිප්ට් සම්පාදකය දෝෂයක් මතු කරයි.
මෙම ගැටලුව මඟහරවා ගැනීමට ප්රශ්න ලකුණු සංකේතය ('?') භාවිතා කිරීමෙන් ඔබට විකල්ප පරාමිතීන් භාවිතා කළ හැක. එය "?" එකතු කිරීමෙන් විකල්ප පරාමිතීන් දැක්විය හැකි බව පෙන්වයි. වටිනාකමක් ලැබිය හැකි හෝ නොලැබෙන අයට.
19. var, let, සහ const එකකින් එකක් වෙනස් වන්නේ කෙසේද?
විචල්යයක් ප්රකාශ කිරීමට විවිධ ක්රම තුනක් TypeScript මගින් පිරිනමනු ලැබේ, ඒ සෑම එකක්ම යෝජිත යෙදුමක් ඇත.
var: ජාවාස්ක්රිප්ට් හි var විචල්යයන්ගේ හැසිරීම් සහ විකාශන මාර්ගෝපදේශ සමඟ ගෝලීය හෝ ශ්රිත විෂය පථය සහිත විචල්යයක් ප්රකාශ කරයි. විචල්යයන් ප්රකාශ කරන විට ඒවායේ අගයන් සැකසීමට අවශ්ය නොවේ.
ඉඩ: ප්රාදේශීය වශයෙන් විෂය පථය සහිත බ්ලොක් විචල්යයක් ප්රකාශ කරයි. විචල්යයන් ප්රකාශ කරන විට විචල්යයක අගයක් සැකසීමට අවශ්ය නොවේ. "බ්ලොක්-ස්කෝප්ඩ් ප්රාදේශීය විචල්යය" යන්නෙන් අදහස් කරන්නේ ශ්රිතයක්, if/else බ්ලොක් එකක් හෝ ලූපයක් වැනි එය අඩංගු බ්ලොක් එක ඇතුළත සිට පමණක් ප්රවේශ විය හැකි විචල්යයකි. var ට ප්රතිවිරුද්ධව, ප්රකාශ කිරීමට පෙර විචල්යයන් කියවීමට හෝ ලිවීමට නොහැක.
const: එය ආරම්භ කළ පසු වෙනස් කළ නොහැකි වාරණ-පරිමාණ නියතයක් සඳහා අගයක් ප්රකාශ කරයි. ප්රකාශ කිරීමට පෙර කොන්ස්ට් විචල්යයන් ආරම්භ කිරීම අවශ්ය වේ. ඔවුන්ගේ සම්පූර්ණ පැවැත්ම තුළ නියතව පවතින විචල්යයන් සඳහා, මෙය ප්රශස්ත වේ.
20. TypeScript හි, සැරසිලි කරුවන් විස්තර කරන්න?
ප්රවේශයක්, දේපලක්, පරාමිතියක්, පන්තියක්, ශ්රිතයක් හෝ අලංකරණයක් යන සියල්ලම සැරසිලි කරුවන් ලෙස නිශ්චිත ආකාරයකින් ප්රකාශ කළ හැක. සැරසිලි කරන්නන් යනු @ ප්රකාශන උපසර්ගය සහිත ශ්රිත වන අතර එය සරසන ලද ප්රකාශය පිළිබඳ විස්තර සමඟ ධාවන වේලාවේදී ක්රියා කරයි.
ප්රකාශනය සැරසිලි කරුවන්ට වැඩ කිරීම සඳහා කාර්යයක් ඇගයීමට ලක් කළ යුතුය.
TypeScript Decorators මඟින් වත්මන් කේතයට විවරණ සහ තොරතුරු ප්රකාශනාත්මකව එක් කිරීමේ ඉලක්කය සපයයි.
අපගේ tsconfig.json ගොනුවේ හෝ විධාන රේඛාවේ, ඔබ සැරසිලිකරුවන් සඳහා පර්යේෂණාත්මක සහාය සක්රීය කිරීම සඳහා පරීක්ෂණ සැරසිලි සම්පාදක විකල්පය සක්රිය කළ යුතුය:
21. TypeScript හි, Mixins යන්නෙන් අදහස් කරන්නේ කුමක්ද?
Mixins යනු Javascript හි නැවත භාවිතා කළ හැකි කොටස් වලින් පන්ති නිර්මාණය කිරීම සහ වඩාත් සංකීර්ණ සම්පූර්ණ පන්ති සෑදීම සඳහා අර්ධ පන්ති මිශ්ර කිරීමේ තාක්ෂණයකි.
සංකල්පය සරල ය: B ශ්රිතය A පන්තිය පිළිගන්නා අතර එහි ක්රියාකාරීත්වය ලබා ගැනීම සඳහා A පන්තියේ B දිගු කිරීමට ප්රතිවිරුද්ධව එහි ක්රියාකාරීත්වය එකතු කර නව පන්තියක් ආපසු ලබා දෙයි. මෙම නඩුවේ B ශ්රිතය මික්සින් වේ.
22. TypeScript හි Type Aliases යනු කුමක්ද?
වර්ගයේ අන්වර්ථ නාම වර්ගයක නම වෙනස් කරයි. අතුරුමුහුණත් වැනි ආකාරයේ අන්වර්ථ නාමයන්, ප්රාථමික, වෘත්තීය සමිති, ටියුපල් සහ වෙනත් ආකාරයකින් අතින් අර්ථ දැක්විය යුතු වෙනත් වර්ග නම් කිරීමට භාවිතා කළ හැක.
අන්වර්ථ නාමයෙන් නව වර්ගයක් නිර්මාණය නොවේ; ඒ වෙනුවට, එය පවතින වර්ගයක නම වෙනස් කරයි. ලේඛනගත කිරීම සඳහා ප්රයෝජනවත් විය හැකි නමුත් ප්රාථමිකයක් අන්වර්ථ කිරීම ඇත්තෙන්ම ප්රායෝගික නොවේ.
අතුරුමුහුණත් වැනි ආකාරයේ අන්වර්ථ නාමයන් විශ්වීය විය හැකිය; ඔබ කළ යුත්තේ වර්ගයේ පරාමිති එකතු කර අන්වර්ථ ප්රකාශනයේ දකුණු පැත්තේ ඒවා භාවිතා කිරීමයි.
23. "Scope variable" යන යෙදුමෙන් අදහස් කරන්නේ කුමක්ද?
JavaScript දේශීය සහ ගෝලීය විෂය පථ විචල්යයන් සඳහා සහය දක්වයි. විෂය පථය යනු වස්තූන්, විචල්යයන් සහ ශ්රිතවල එකතුවකි.
විෂය පථ දෙකකින් විචල්යයක් ප්රකාශ කිරීමේ උදාහරණයක් වන්නේ:
- දේශීය විෂය පථය සමඟ විචල්ය වේ - එය ශ්රිත තුළ භාවිතය සඳහා ක්රියාකාරී වස්තුවක් ලෙස ක්රියා කරයි.
- ගෝලීය විෂය පථය සමඟ විචල්ය වේ - මෙම කවුළු වස්තුව ශ්රිතය තුළ සහ පිටත යන දෙකම භාවිතා කළ හැක
24. හරියටම noImplicitAny භාවිතා කරන්නේ කුමක් සඳහාද?
TypeScript compiler හි ඔබේ ව්යාපෘතියේ ව්යංග ඕනෑම වර්ගයක ප්රතිකාරය TypeScript ව්යාපෘති සඳහා tsconfig.json වින්යාස ගොනුවේ ඇති noImplicitAny දේපල මගින් වෙනස් කරනු ලැබේ.
noImplicitAny ධජය සත්ය හෝ අසත්ය ලෙස සැකසිය හැකි අතර ආරම්භ කිරීමෙන් පසු සෑම විටම වෙනස් කළ හැක. සෑම ව්යාපෘතියක්ම අද්විතීය බැවින්, මෙම අංකය කුමක් විය යුතුද යන්න පිළිබඳව හරි හෝ වැරදි පිළිතුරක් නොමැත.
ධජයේ සක්රිය සහ අක්රිය තත්ත්වයන් අතර වෙනස අවබෝධ කර ගැනීම ඔබට කොඩිය සඳහා භාවිත කළ යුතු සැකසුම තෝරා ගැනීමට උදවු විය හැක.
noImplicitAny ධජය අසත්ය (පෙරනිමිය) ලෙස සකසා ඇත්නම් එය භාවිතා කරන ආකාරය මත පදනම්ව සම්පාදකය විචල්ය වර්ගය තීරණය නොකරයි. වර්ගය ඒ වෙනුවට සම්පාදකය විසින් පෙරනිමියෙන් ඕනෑම එකකට සකසා ඇත.
කෙසේ වෙතත්, noImplicitAny විකල්පය සත්ය ලෙස සකසා ඇත්නම්, සම්පාදකයා වර්ගය අනුමාන කිරීමට උත්සාහයක් ගන්නා අතර එය කළ නොහැකි නම් සම්පාදන-කාල දෝෂයක් මතු කරයි.
25. එකමුතු සහ ඡේදනය වර්ග එකිනෙකට වෙනස් වන්නේ කෙසේද?
මුල සිට නව වර්ග උත්පාදනය කරනවා වෙනුවට, වෘත්තීය සමිති සහ ඡේදනය වර්ග ඔබට පවතින වර්ග රචනා කිරීමට සහ මිශ්ර කිරීමට ඉඩ සලසයි. එකමුතුකම සහ මංසන්ධිය යන දෙකටම විශේෂිත වූ ගුණාංග ඇති අතර ඒවා ඇතැම් භාවිත අවස්ථා සඳහා පරිපූර්ණ කරයි.
වර්ග කිහිපයකින් එකක් විය හැකි වර්ගයක් යුනියන් වර්ගයක් ලෙස හැඳින්වේ. නව වර්ගයෙහි භාවිතා වන වර්ග ලැයිස්තුව | භාවිතා කර බෙදා ඇත (සිරස් තීරුව) වෘත්තීය සමිති වර්ගවල සංකේතය.
අපි නිදර්ශනයක් බලමු:
අනෙක් අතට, ඡේදනය යනු බොහෝ වර්ග එකකට ඒකාබද්ධ කරන වර්ගයක් ලෙස අර්ථ දැක්වේ, නව වර්ගයක් සෑදීමට එක් එක් වර්ගයේ සියලුම අංග ඒකාබද්ධ කරයි. ඒකාබද්ධ කෙරෙන වර්ග ලැයිස්තුව & සංකේතය භාවිතයෙන් ඡේදනයට බෙදා ඇත.
අපි නිදර්ශනයක් විමසා බලමු:
26. TypeScript Declare Keyword එකක් ඔබ නිර්වචනය කරන්නේ කෙසේද?
JavaScript පුස්තකාලවල හෝ රාමු තුළ TypeScript declaration ගොනු නොමැත. කෙසේ වෙතත්, ඔබ කිසිදු සම්පාදන දෝෂයකට මුහුණ නොදී TypeScript ගොනුව තුළ ඒවා භාවිතා කිරීම සඳහා declare මූල පදය භාවිතා කළ යුතුය.
ඔබට දැනටමත් වෙනත් ස්ථානයක පැවතිය හැකි විචල්යයක් සඳහන් කිරීමට අවශ්ය වූ විට, ඔබ සංසරණ ප්රකාශන සහ ක්රම වලදී declare මූල පදය භාවිතා කරයි.
27. TypeScript හි, Generics යනු කුමක්ද?
TypeScript Generics නම් මෙවලමක් නැවත භාවිත කළ හැකි කොටස් නිෂ්පාදනය සඳහා ක්රමයක් ඉදිරිපත් කරයි. එක් දත්ත ආකාරයක් සමඟ පමණක් වැඩ කරනවා වෙනුවට, දත්ත වර්ග පරාසයක් සමඟ ක්රියා කළ හැකි සංරචක සංවර්ධනය කළ හැකිය.
අතිරේකව, එය කාර්යක්ෂමතාව හෝ ඵලදායිතාව කැප නොකර වර්ගයේ ආරක්ෂාව සපයයි. අපට සාමාන්ය පන්ති, සාමාන්ය ශ්රිත, සාමාන්ය ක්රම සහ සාමාන්ය අතුරුමුහුණත් ගොඩනගා ගත හැකිය.
විවෘත () සහ වසන (>) වරහන් අතර ටයිප් පරාමිතියක් ලියා ඇති බැවින් ජෙනරික්ස් ඉතා ටයිප් කරන ලද එකතුවකි. එය වර්ග සඳහා වන T ලෙස හඳුන්වන අද්විතීය ආකාරයේ විචල්යයක් භාවිතා කරයි.
28. JSX TypeScript හි අදහස් කරන්නේ කුමක්ද?
JSX යනු එබ්බවිය හැකි XML වැනි වාක්ය ඛණ්ඩයකින් පරිවර්තනය කළ හැකි නීත්යානුකූල ජාවාස්ක්රිප්ට් එකකි. ප්රතික්රියා රාමුව සමඟින්, JSX ජනප්රියත්වය ලබා ගත්තේය.
JSX ජාවාස්ක්රිප්ට් වෙත සෘජු සම්පාදනය, වර්ග සත්යාපනය සහ කාවැද්දීම සඳහා TypeScript මඟින් සහය දක්වයි. ඔබ ඔබේ ගොනුව a.tsx දිගුව ලබා දිය යුතු අතර ඔබට එය භාවිතා කිරීමට අවශ්ය නම් JSX විකල්පය සක්රිය කළ යුතුය.
29. TypeScript Ambients යනු කුමක්ද සහ මා ඒවා භාවිතා කළ යුත්තේ කවදාද?
සංසරණ ප්රකාශයන් හරහා වෙනත් ස්ථානයක පිහිටා ඇති සැබෑ මූල කේතය පිළිබඳව සම්පාදකයාට දැනුම් දෙනු ලැබේ.
අපි මෙම ප්රභව කේත ධාවන වේලාවේදී භාවිතා කිරීමට උත්සාහ කළත් ඒවා නොමැති නම් කිසිදු පූර්ව දැනුම්දීමකින් තොරව එය බිඳ වැටෙනු ඇත. ලේඛන වැනි ගොනු සංසරණ ප්රකාශන ගොනු වේ.
මූලාශ්රය වෙනස් වුවහොත්, ලේඛන යාවත්කාලීන කළ යුතු අතර, සංසරණ ප්රකාශන ගොනුව වෙනස් නොකළහොත් සම්පාදක ගැටළු ඇති වේ.
මීට අමතරව, jQuery, AngularJS, NodeJS වැනි දැනටමත් බහුලව භාවිතා වන සුප්රසිද්ධ ජාවාස්ක්රිප්ට් පුස්තකාල භාවිතා කිරීමට එය අපට හැකියාව ලබා දෙයි.
30. TypeScript හි වියුක්ත පන්තිය යන්නෙන් ඔබ අදහස් කරන්නේ කුමක්ද?
වියුක්ත පන්ති මගින් වස්තුවක කොන්ත්රාත්තුවක් නිර්වචනය කරනුයේ සෘජු වස්තු ක්ෂණික කිරීමට ඉඩ නොතබමිනි. කෙසේ වෙතත්, වියුක්ත පන්තියකට එහි සාමාජිකයාගේ ක්රියාත්මක කිරීමේ තොරතුරු ද ඉදිරිපත් කළ හැකිය.
වියුක්ත පන්තියක වියුක්ත සාමාජිකයන් එකක් හෝ වැඩි ගණනක් සොයා ගත හැක. සුපිරි පන්තියේ වියුක්ත සාමාජිකයින්ට වියුක්ත පන්තිය දිගු කරන ඕනෑම පන්තියකින් සපයන ක්රියාත්මක කිරීමක් තිබිය යුතුය.
වියුක්ත පන්තියක TypeScript උදාහරණයක් සහ වෙනත් පන්තියක් එය දිගු කරන්නේ කෙසේදැයි බලමු. පහත උදාහරණයේ ඇති Car සහ Bike යන පන්ති දෙකම වාහන පන්තිය දිගු කලද, ඒ සෑම එකක්ම drive() ශ්රිතය අද්විතීය ආකාරයකින් ක්රියාත්මක කරයි.
31. TypeScript Map ගොනුවක් යනු කුමක්ද?
TypeScript Map ගොනුවක් ලෙස හඳුන්වන මූලාශ්ර සිතියම් ගොනුවක අපගේ මුල් ගොනු පිළිබඳ දත්ත අඩංගු වේ. මූලාශ්ර සිතියම් ගොනු, හෝ .map ගොනු, ප්රතිදානය වන JavaScript කේතය සහ එය නිපදවූ TypeScript මූලාශ්ර ගොනු අතර සිතියම්ගත කිරීමට මෙවලම්වලට ඉඩ සලසයි.
මීට අමතරව, මෙම ගොනු debuggers මගින් පරිභෝජනය කළ හැකි අතර, JavaScript ගොනුවට වඩා TypeScript ගොනුව දෝෂහරණය කිරීමට අපට ඉඩ සලසයි.
32. TypeScript හි, වර්ග ප්රකාශයන් මොනවාද?
C# සහ Java වැනි වෙනත් භාෂා වල ටයිප් කිරීම මෙන් ටයිප් ප්රකාශය ක්රියා කරන අතර, එය වර්ග සත්යාපනය හෝ දත්ත නැවත සකස් කිරීම සිදු නොකරයි.
ටයිප් ප්රකාශය ධාවන කාලයට බලපෑමක් නැති අතර, ටයිප් වාත්තු කිරීම මෙම සහාය ලබා දෙයි. අනෙක් අතට, වර්ග ප්රකාශයන් භාවිතා කරන්නේ සම්පාදකයා විසින් පමණක් වන අතර අපගේ කේතය පරීක්ෂා කිරීමට අපට අවශ්ය ආකාරය පිළිබඳ මාර්ගෝපදේශ සපයයි.
නිගමනය
අවසාන වශයෙන්, ඔබ රැකියා සම්මුඛ පරීක්ෂණයකට සූදානම් වන සංවර්ධකයෙකු හෝ හොඳම අයදුම්කරු සොයා ගැනීමට උත්සාහ කරන බඳවා ගැනීමේ කළමනාකරුවෙකු වුවද, මෙම TypeScript සම්මුඛ පරීක්ෂණ ප්රශ්න ඔබට ප්රයෝජනවත් වනු ඇතැයි අපි බලාපොරොත්තු වෙමු.
බඳවා ගැනීමේ ක්රියාවලියට තාක්ෂණික ප්රවීණත්වයට වඩා වැඩි යමක් ඇතුළත් බව මතක තබා ගන්න. ඔබ රැකියාවට ගොඩබසින බව (හෝ සුදුසු අයදුම්කරු සොයා ගැනීම) සහතික කිරීම සඳහා, අතීත අත්දැකීම් සහ මෘදු කුසලතා එකසේම තීරණාත්මක වේ.
ටයිප්ස්ක්රිප්ට් සම්මුඛ පරීක්ෂණ ප්රශ්න බොහොමයක් විවෘතව පවතින අතර නිවැරදි පිළිතුරක් නොමැත, එබැවින් එය මතක තබා ගන්න.
ඔබේ ප්රතිචාර පිටුපස ඇති තාර්කිකත්වය ගැන සම්මුඛ පරීක්ෂකයින් උනන්දු වෙති.
ඔබ ඔබේ පිළිතුරට පැමිණි ආකාරය විස්තර කරන පසු විපරම් විමසීම් සඳහා සැමවිටම සූදානම්ව සිටින්න. ඔබේ චින්තන ක්රියාවලිය විස්තර කරන්න.
ඔබමයි