Равенство по стойност и тип в 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('---');
}