JavaScript-də Dəyər və Tip Bərabərliyi
Tutaq ki, siz dırnaq içində yazılmış ədədin, dırnaqsız eyni ədədə bərabər olmaması üçün müqayisə etmək istəyirsiniz. Başqa sözlə, siz müqayisənin təkcə dəyər üzrə deyil, həm də məlumat növü üzrə olmasını istəyirsiniz.
Bunun üçün == operatoru əvəzinə === operatorundan istifadə edilməlidir. Aşağıdakı misalda '3' sətri ilə 3 ədədini müqayisə edərkən şərt yalan olacaq, çünki dəyişənlər dəyər baxımından bərabər olsalar da, tip baxımından bərabər deyillər:
if ('3' === 3) {
console.log('+++');
} else {
console.log('---'); // bu işləyəcək
}
Lakin iki '3' sətri müqayisə ediləndə şərt doğru olacaq:
if ('3' === '3') {
console.log('+++'); // bu işləyəcək
} else {
console.log('---');
}
Eynilə, ədədləri müqayisə edərkən də:
if (3 === 3) {
console.log('+++'); // bu işləyəcək
} else {
console.log('---');
}
== operatoru ilə === operatoru arasındakı fərq, dəyərlər eyni olduqda, lakin məlumat növləri fərqli olduqda özünü göstərir. Digər hallarda bu operatorlar eyni işləyir. Məsələn, fərqli ədədləri müqayisə edərkən, əlbəttə ki, '---' çıxacaq:
if (2 === 3) {
console.log('+++');
} else {
console.log('---'); // bu işləyəcək
}
Kodu işə salmadan, konsola nə çıxacağını müəyyən edin:
let test1 = '3';
let test2 = '3';
if (test1 == test2) {
console.log('+++');
} else {
console.log('---');
}
Kodu işə salmadan, konsola nə çıxacağını müəyyən edin:
let test1 = '3';
let test2 = '3';
if (test1 === test2) {
console.log('+++');
} else {
console.log('---');
}
Kodu işə salmadan, konsola nə çıxacağını müəyyən edin:
let test1 = 3;
let test2 = '3';
if (test1 == test2) {
console.log('+++');
} else {
console.log('---');
}
Kodu işə salmadan, konsola nə çıxacağını müəyyən edin:
let test1 = 3;
let test2 = '3';
if (test1 === test2) {
console.log('+++');
} else {
console.log('---');
}
Kodu işə salmadan, konsola nə çıxacağını müəyyən edin:
let test1 = 3;
let test2 = 3;
if (test1 === test2) {
console.log('+++');
} else {
console.log('---');
}