අගය සහ වර්ගය අනුව සමානාත්මතාව JavaScript හි
උදුරා ඇති අංකයක් උදුරා නැති එම අංකයට සමාන නොවන පරිදි සංසන්දනය කිරීමට ඔබට අවශ්ය යැයි සිතමු. වෙනත් වචන වලින් කිවහොත්, ඔබට සංසන්දනය කිරීමට අවශ්ය වන්නේ අගය පමණක් නොව දත්ත වර්ගය ද සලකා බලන පරිදිය.
මේ සඳහා, == මෙහෙයුම්කාරකය වෙනුවට === මෙහෙයුම්කාරකය භාවිතා කළ යුතුය. පහත උදාහරණයේ, '3' නැමති පේළිය සහ 3 නැමති අංකය සංසන්දනය කිරීමේදී, කොන්දේසිය අසත්ය වනු ඇත. මක්නිසාද යත්, අගයන් සමාන වුවද විචල්යයන් වර්ගය අනුව සමාන නොවේ:
if ('3' === 3) {
console.log('+++');
} else {
console.log('---'); // මෙය ක්රියාත්මක වේ
}
එහෙත්, '3' නැමති පේළි දෙකක් සංසන්දනය කිරීමේදී කොන්දේසිය සත්ය වනු ඇත:
if ('3' === '3') {
console.log('+++'); // මෙය ක්රියාත්මක වේ
} else {
console.log('---');
}
අංක සංසන්දනය කිරීමේදී ද එලෙසම:
if (3 === 3) {
console.log('+++'); // මෙය ක්රියාත්මක වේ
} else {
console.log('---');
}
== මෙහෙයුම්කාරකය සහ === මෙහෙයුම්කාරකය අතර වෙනස පැහැදිලි වන්නේ අගයන් සමාන වුවද දත්ත වර්ගය වෙනස් වූ විටය. අනෙකුත් සියලුම අවස්ථාවන්හිදී මෙම මෙහෙයුම්කාරකයන් එකම ආකාරයෙන් ක්රියා කරයි. උදාහරණයක් ලෙස, වෙනස් අංක සංසන්දනය කිරීමේදී, නිසැකවම '---' ප්රතිදානය වේ:
if (2 === 3) {
console.log('+++');
} else {
console.log('---'); // මෙය ක්රියාත්මක වේ
}
කේතය ධාවනය නොකර, කොන්සෝලයේ දිස්වන්නේ කුමක්දැයි නිර්ණය කරන්න:
let test1 = '3';
let test2 = '3';
if (test1 == test2) {
console.log('+++');
} else {
console.log('---');
}
කේතය ධාවනය නොකර, කොන්සෝලයේ දිස්වන්නේ කුමක්දැයි නිර්ණය කරන්න:
let test1 = '3';
let test2 = '3';
if (test1 === test2) {
console.log('+++');
} else {
console.log('---');
}
කේතය ධාවනය නොකර, කොන්සෝලයේ දිස්වන්නේ කුමක්දැයි නිර්ණය කරන්න:
let test1 = 3;
let test2 = '3';
if (test1 == test2) {
console.log('+++');
} else {
console.log('---');
}
කේතය ධාවනය නොකර, කොන්සෝලයේ දිස්වන්නේ කුමක්දැයි නිර්ණය කරන්න:
let test1 = 3;
let test2 = '3';
if (test1 === test2) {
console.log('+++');
} else {
console.log('---');
}
කේතය ධාවනය නොකර, කොන්සෝලයේ දිස්වන්නේ කුමක්දැයි නිර්ණය කරන්න:
let test1 = 3;
let test2 = 3;
if (test1 === test2) {
console.log('+++');
} else {
console.log('---');
}