JavaScript-da Qiymat va Tur Tengligi
Faraz qilaylik, siz qo'shtirnoq ichidagi raqam qo'shtirnoqsiz shu raqamga teng bo'lmasligi uchun solishtirmoqchisiz. Boshqacha qilib aytganda, siz nafaqat qiymat, balki ma'lumotlar turi bo'yicha ham solishtirishni xohlaysiz.
Buning uchun == operatori o'rniga
=== operatoridan foydalanish kerak. Quyidagi
misolda '3' satri va 3 sonini
solishtirganda shart noto'g'ri bo'ladi,
chunki o'zgaruvchilar qiymati bo'yicha teng bo'lsa-da,
turi bo'yicha teng emas:
if ('3' === 3) {
console.log('+++');
} else {
console.log('---'); // bu ishlaydi
}
Ammo ikkita '3' satrini solishtirganda
shart to'g'ri bo'ladi:
if ('3' === '3') {
console.log('+++'); // bu ishlaydi
} else {
console.log('---');
}
Xuddi shu raqamlarni solishtirganda ham:
if (3 === 3) {
console.log('+++'); // bu ishlaydi
} else {
console.log('---');
}
== operatori va === operatori
o'rtasidagi farq aynan qiymatlar bir xil, ammo
ma'lumotlar turi har xil bo'lganda namoyon bo'ladi.
Qolgan hollarda bu operatorlar bir xil ishlaydi.
Masalan, turli raqamlarni solishtirganda, albatta,
'---' chiqadi:
if (2 === 3) {
console.log('+++');
} else {
console.log('---'); // bu ishlaydi
}
Kodni ishlamasdan, konsolga nima chiqishini aniqlang:
let test1 = '3';
let test2 = '3';
if (test1 == test2) {
console.log('+++');
} else {
console.log('---');
}
Kodni ishlamasdan, konsolga nima chiqishini aniqlang:
let test1 = '3';
let test2 = '3';
if (test1 === test2) {
console.log('+++');
} else {
console.log('---');
}
Kodni ishlamasdan, konsolga nima chiqishini aniqlang:
let test1 = 3;
let test2 = '3';
if (test1 == test2) {
console.log('+++');
} else {
console.log('---');
}
Kodni ishlamasdan, konsolga nima chiqishini aniqlang:
let test1 = 3;
let test2 = '3';
if (test1 === test2) {
console.log('+++');
} else {
console.log('---');
}
Kodni ishlamasdan, konsolga nima chiqishini aniqlang:
let test1 = 3;
let test2 = 3;
if (test1 === test2) {
console.log('+++');
} else {
console.log('---');
}