Неравенство по значению и типу в JavaScript
Кроме оператора != существует также
оператор !==, учитывающий тип при
сравнении. Давайте рассмотрим различия между
ними на примерах.
Пусть с помощью оператора != сравниваются
два числа 3. Данный оператор сравнивает
значения на то, что они НЕ равны. Так как
наши значения как раз-таки равны, то
условие будет ложным:
if (3 != 3) {
console.log('+++');
} else {
console.log('---'); // сработает это
}
Пусть теперь одно из наших значений будет
в кавычках. В этом случае оператор !=
все равно посчитает их равными (так как совпадает
значение, а тип не важен для данного оператора)
и опять условие будет ложным:
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('---');
}
Не запуская код, определите, что выведется в консоль:
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 = 2;
if (test1 !== test2) {
console.log('+++');
} else {
console.log('---');
}