TypeScript 2026 සංස්කරණය සමඟ නව Recursive Types ලැබී තිබේ. මෙය JSON, ගොනු ගස්, මෙන්ම DeepPartial වැනි ගැඹුරු නෙස්ට් කරන ලද දත්ත ව්යුහයන්හි ආරක්ෂිත කේත ලිවීමේ අභියෝගය විසඳයි.
සාමාන්යයෙන්, සංවර්ධකයින් JSON ප්රතිචාර හෝ ෆයිල් ට්රී වැනි නෙස්ට් කරන ලද වස්තුවක් ලබාගත් විට any භාවිතා කරන හෝ රන්ටයිම් වල පරීක්ෂා කිරීමේදී ගැටළුවට මුහුණ දෙති. උදාහරණයක් ලෙස config.theme.colors.primary.default යන පථයට ප්රවේශ වීමට උත්සාහ කළ විට, වස්තුවේ මධ්යයේ undefined වීම නිසා රන්ටයිම් දෝෂයක් දකින්නට ලැබේ.
Recursive Types මෙම ගැටළුවට විසඳුමක් ලෙස, වර්ගයම තමන්ම ආපසු යොමු කර ගොඩනැගීමට ඉඩ දෙයි. JSONValue වර්ගයක් නිර්මාණය කර, එය ඇරේ, ඔබ්ජෙක්ට්, ප්රාථමික වර්ග ආදී සියලුම වර්ගයන් සමඟම ආරම්භක (base) නියමයක් ලබාදී, කම්පයිලරය සෑම මට්ටමකම වර්ගය පරීක්ෂා කරයි.
මෙම ආකාරය නිසා, කම්පයිලරය config.theme.colors හි undefined විය හැකියැයි හඳුනාගෙන, ඒ සඳහා optional chaining හෝ පූර්ව පරීක්ෂා කිරීමක් අවශ්ය බව දැනුම් දෙයි. එවිට රන්ටයිම් දෝෂය වැලැක්වීමෙන් වැඩි කාලයක් සුරක්ෂිතව වැඩ කළ හැකිය.
ශ්රී ලංකාවට ඇති වැදගත්කම
ශ්රී ලංකාවේ තාක්ෂණික ශිෂ්යයන්, සංවර්ධකයින් සහ ව්යාපාරිකයින් සඳහා මේ අලුත් Recursive Types විශාල අවස්ථාවකි.
- ශිෂ්යයන් – TypeScript පාඨමාලාවේ ගැඹුරු නෙස්ට් ව්යුහයන් ඉගෙන ගැනීම සරල වන අතර, කම්පයිලරය මගින් දෝෂ හඳුනා ගැනීම ඉක්මනින් සිදුවේ.
- සංවර්ධකයින් – අධික නෙස්ට් කරන ලද API ප්රතිචාර හෝ Config වස්තු සකස් කිරීමේදී කෝඩ් ලේඛනයේ ආරක්ෂාව වැඩි වේ. DeepPartial, DeepReadonly වැනි utility types නව Recursive Patterns සමඟ ලේසිව භාවිතා කළ හැක.
- ව්යාපාර – කේතයේ වැරදි හේතුවෙන් සිදුවන බිග් (bug) ගණන අඩු වන අතර, නිෂ්පාදන වේගය වැඩි වේ. තවත්, කෝඩ් නඩත්තු කිරීමේ වැය අඩුවීමේදී ව්යාපාරික ROI වැඩි වේ.
Recursive Types භාවිතා කරන විට, වර්ගයේ අවසන් නියමයක් (base case) සැපයීම අත්යවශ්ය වේ. එය primitive, null, unknown වැනි වර්ගයන් වන අතර, මෙය කම්පයිලරය අසීමිත විස්තාරය වැළැක්වීමට උපකාරී වේ. TypeScript 5.6+ හි පසුබැසීමේ ගැඹුරු මට්ටම සుమාර 50 ක් වන අතර, හොඳින් නිර්මාණය කළ Recursive Types එය කඩකළ නොවේ.
අවසන් වශයෙන්, Recursive Types TypeScript කේතයට නව සුරක්ෂිතත්වයක් එක් කරයි. නෙස්ට් කරන ලද දත්ත ව්යුහයන් සමඟ වැඩ කිරීම තවත් ආරම්භක වශයෙන් පවා පහසු කරයි, ඒ නිසා ශ්රී ලංකාවේ තාක්ෂණික පරිසරය ඉදිරියට යාමට මෙය වැදගත් පියවරක් වේ.