Няроўнасць па значэнні і тыпу ў 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('---');
}