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

JavaScript Type Coercion රහස්: []+{} , NaN===NaN වගේ ඉන්ටරවූ ප්‍රශ්න උදෙසා

JavaScript Type Coercion රහස්: []+{} , NaN===NaN වගේ ඉන්ටරවූ ප්‍රශ්න උදෙසා

කොඩ් ලේඛන සම්මුඛ පරීක්ෂණවලදී, නියමයක් නොමැති පරිදි "console.log([] + []);" වැනි එක-ලයින් කේත කැබලි ගොඩක් ඉදිරිපත් කරයි. මෙවැනි කැබලිවල ප්‍රතිඵලය ඔබට හඳුනාගත හැකිද? JavaScript හි type coercion (වර්ග පරිවර්තනය) පිළිබඳ මූලික නියමයන් දැන ගැනීම, ඉන්ටරවූවකදී ඔබේ පිළිතුර තීරණාත්මක වේ.

මෙම ලිපියෙහි, ප්‍රචලිත උදාහරණ කිහිපයක් – [] + [], [] + {}, ({} + []), eval('{} + []'), [1,2] + [3,4] සහ NaN === NaN – යනවාගේ ප්‍රතිඵලය පියවරෙන් පියවර විස්තර කරයි. ප්‍රධාන නියමය නම්, + මෙහෙයුම ක්‍රියාත්මක වන විට පළමුව දෙපාර්ශවයම primitive (ප්‍රාථමික) වර්ගයකට පරිවර්තනය වේ. එම පරිවර්තනයෙන් පසු එකක් string වර්ගයක් නම්, concatenation (එකතු කිරීම) සිදු වේ; නැතිනම් number addition (ගණිත එකතු) සිදු වේ, අසාමාන්‍ය අගයන් NaN බවට පත්වේ.

උදාහරණයක් ලෙස, [] + [] හි දෙකම String([])"" (හිස් පදයක්) බවට පරිවර්තනය වේ. එබැවින් ප්‍රතිඵලය හිස් පදයක්, අර්ථවත් අංකයක් නොවේ. [] + {} හි වම් පැත්ත හිස් පදයක්, දකුණු පැත්ත "[object Object]" බවට පරිවර්තනය වන නිසා, එකතුව "[object Object]" වේ.

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

ශ්‍රී ලංකාවේ තරුණ සංවර්ධකයින්, විශ්වවිද්‍යාල සිසුන්, සහ තාක්ෂණ ආයතන සඳහා මේ වැනි නියමයන් අවබෝධ කරගැනීම අතිශය වැදගත්. ප්‍රධාන ප්‍රතිලාභ කිහිපයක්:

  • ඉන්ටරවූ සාර්ථකත්වය: ප්‍රශ්නවලට නිවැරදි පිළිතුර ලබා දීම, රැකියා අවස්ථා ලබා ගැනීමට අතිශය උපකාරී.
  • දෝෂ හඳුනා ගැනීම: කේතයේ අසමත් වීමට හේතු වන coercion දෝෂ හඳුනාගැනීම, නිවැරදි බග් හල කිරීමේ කුසලතාව වැඩි කරයි.
  • කේතයේ පඩිපෙළ වැඩි කිරීම: වර්ග පරිවර්තනයේ නියමයන් මත පදනම්ව ලියන ලද කේතය, කියවීමට සහ නඩත්තු කිරීමට පහසු වේ.
  • ආයතනික ප්‍රජා වර්ධනය: JavaScript පදනම් කරගත් වෙබ් හා මොබයිල් යෙදුම් සංවර්ධනයේ ගුණාත්මකභාවය ඉහළ යාම, දේශීය තාක්ෂණ ආර්ථිකයට දායක වේ.

ඉන්ටරවූවලදී “{} + []” වැනි කේතයක් දැක්කාම, එය statement (ඇතුළත් කිරීම) කීර්තිමත් කරයිද, නැතහොත් expression (ප්‍රකාශ) කීර්තිමත් කරයිද යන්න පරීක්ෂා කිරීම අත්‍යවශ්‍යය. පේරණය (parentheses) හෝ console.log භාවිතයෙන් ඒ වෙනස පෙන්විය හැකිය.

අවසන් වශයෙන්, NaN === NaN සත්‍යය false බව, Number.isNaN() හෝ Object.is() භාවිතා කර නිවැරදිව පරීක්ෂා කළ යුතුය. මේ නියමයන් පිළිබඳව දැනුවත් වීම, JavaScript කේත ලියන හැකියාව ඉතා උසස් කරයි.

ඔබේ JavaScript දැනුම තවත් උසස් කර, ඉන්ටරවූවලදී විශ්වාසයෙන් පිළිතුරු දෙන්න. තවත් උදාහරණ සහ විස්තර සඳහා අපගේ වෙබ් අඩවිය බලන්න.

💡 ඔබේ JavaScript දැනුම තවත් උසස් කරන්න!
මූලාශ්‍රය මෙම ලිපිය AI මගින් රචිත මුල් සාරාංශයකි. සම්පූර්ණ වාර්තාව කියවන්න:
Dev.to ↗
#JavaScript #Type Coercion #Interview #Coding #Sri Lanka