ශ්‍රී ලංකාවේ නවතම තාක්ෂණික පුවත් 2026-07-23, Thursday
💻 ක්‍රමලේඛනය · 🕒 කියවීමට විනාඩි 2 · 👁 1

Strict Null Checks සමඟ TypeScript හි සත්‍ය ආරක්ෂාව: රන්ටයිම් දෝෂවලින් ඔබේ වැඩ පද්ධතිය රක්ෂා කරගන්න

Strict Null Checks සමඟ TypeScript හි සත්‍ය ආරක්ෂාව: රන්ටයිම් දෝෂවලින් ඔබේ වැඩ පද්ධතිය රක්ෂා කරගන්න

Next.js 16, Prisma ORM 5 සහ TypeScript හි strict null checks සක්‍රිය කරගෙන වැඩ කරන විකසකයෙක්, රන්ටයිම් එකේ Cannot read properties of undefined (reading 'id') යන දෝෂයක් දැකලා හතුරු වැළඳුනා. එය සම්පූර්ණයෙන්ම කම්පයිලර් එකේ “හරි” කියන සලකුණක් නිසා නොවෙයි; එය කේතයේ යථාර්ථ දත්ත වලට පරීක්ෂාවක් නොකළ නිසා සිදුවේ.

TypeScript හි strict: true සක්‍රිය කිරීමෙන් strictNullChecks, noImplicitAny, strictFunctionTypes වැනි පරීක්ෂා සක්‍රිය වේ. ඒවා ත්‍රිවිධ ප්‍රතිඵලයක් ලබා දෙයි: null සහ undefined වර්ගයන් වෙනත් වර්ගයන්ට සෘජු ලෙස පවරා නොදෙයි, වර්ග අනාවරණය නොවන විචල්‍යයන්ට පවා දෝෂයක් දෙනවා, සහ ෆංශන් වර්ගයන්ට වැඩි පරීක්ෂාවක් දෙනවා. එහෙත්, මේ පරීක්ෂා සීමා වූයේ ස්ථිර වර්ග පද්ධතිය පමණයි; එය API, JSON.parse, දත්ත ගබඩා, HTTP header වැනි බාහිර මූලාශ්‍රයන්ගෙන් ලැබෙන වස්තු වල වර්ගය තහවුරු නොකරයි.

කේතයේ දෝෂයන් පෙන්වන්නා වූ 4 පොදු ආකාර මෙන්න:

  • Assertion functions වැරදි ලෙස ලියූ විට. කේතය asserts val is T කියා පවසනවාද, නමුත් function එකේ throw නැති නම්, TypeScript එය සත්‍ය ලෙස විශ්වාස කරයි. null හෝ undefined ලැබුනත්, පසුකාලීනව එය T වර්ගයක් ලෙස ගැලපේ.
  • අසත්‍ය වර්ග ඇති ලයිබ්‍රරී. @types පෑකේජ් වලදී වර්ග ප්‍රකාශන වැරදි විය හැක; උදාහරණයක් ලෙස parseCookie function එක string එකක් පමණක් පෙන්වයි, නමුත් runtime එකේ null දෙනවා.
  • JSON.parse සහ API ප්‍රතිචාර වලින් ලැබෙන වස්තු සෘජුවම typed interface එකට අනුකූල නොවෙයි. එම වස්තුවේ අංගයක් අතුරුදන් වුවහොත්, TypeScript එය ගැලපෙයි කියලා පවසයි.
  • කොන්දේසිගත වර්ග නිරූපණය (union types) වලදී අඩු පරීක්ෂා. උදාහරණයක් ලෙස string | undefined ලෙසින් පෙන්වූ function එක runtime එකේ null දෙනවා.

ශ්‍රී ලංකාවට ඇති වැදගත්කම

ශ්‍රී ලංකාවේ තරුණ ඩිවෙලපර්, ආරම්භක ස්ටාර්ට්‑අප් සහ ව්‍යාපාරිකයින්ට TypeScript භාවිතය ඉතා ප්‍රයෝජනවත්. නමුත් strict null checks එකම විශ්වාසය නොකර, runtime validation එකක් සකස් කිරීමෙන් දෝෂ රහිත පද්ධති නිර්මාණය කළ හැක. උදාහරණයක් ලෙස, API එකෙන් ලැබෙන දත්ත වල null/undefined පරීක්ෂා කිරීම, අධික පරිශීලක අත්දැකීමක් ලබා දෙයි. එමෙන්ම, Prisma ORM සමඟ වැඩ කරන විට, දත්ත මොඩලය හා DB ප්‍රතිචාර අතර අසමතුලිතතා වැලැක්වීමට guard functions භාවිතා කිරීම අත්‍යවශ්‍ය වේ. මේවා සියල්ල ලංකාවේ තාක්ෂණික පරිසරයේ ගුණාත්මක කේතයක්, අඩු බග්ස් සහ ඉහළ ආරක්ෂාවක් ගෙන එයි.

අවසානයේ, strict null checks එක ආරම්භක රේඛාවක් පමණයි. ඒක පසුබැසීමෙන් runtime validation, proper assertion functions, සහ නිරවද්‍ය වර්ග නිර්වචන සමඟ වැඩ කිරීමෙන් පමණක් නිවැරදි, ස්ථායි සොෆ්ට්වෙයාර් නිර්මාණය කළ හැක.

💡 ඔබේ TypeScript කේතයට runtime validation එකක් එක් කරගන්න!
මූලාශ්‍රය මෙම ලිපිය AI මගින් රචිත මුල් සාරාංශයකි. සම්පූර්ණ වාර්තාව කියවන්න:
Dev.to ↗
#TypeScript #null checks #runtime #Next.js #Prisma