Väärtuse ja tüübi mittevõrdsus JavaScriptis
Operaatori != kõrval on olemas ka
operaator !==, mis arvestab tüübi
võrdlemisel. Vaatame nende erinevusi
näidete varal.
Olgu operaatoriga != võrreldud
kaks numbrit 3. See operaator võrdleb
väärtusi selle poolest, et nad EI OLE võrdsed. Kuna
meie väärtused on justkui võrdsed, siis
tingimus on väär:
if (3 != 3) {
console.log('+++');
} else {
console.log('---'); // käivitub see
}
Olgu nüüd üks meie väärtustest
jutumärkides. Sel juhul operaator !=
arvab ikkagi need võrdseks (kuna väärtus langeb kokku,
aga tüüp ei ole selle operaatori jaoks oluline)
ja jälle on tingimus väär:
if ('3' != 3) {
console.log('+++');
} else {
console.log('---'); // käivitub see
}
Võrdleme nüüd kaht numbrit 3
operaatori !== abil. See
arvab need samuti võrdseks:
if (3 !== 3) {
console.log('+++');
} else {
console.log('---'); // käivitub see
}
Aga kui nüüd panna üks kolmidest jutumärkidesse,
siis operaator !== arvab meie kolmikud
mittevõrdseks, sest, kuigi nende väärtused langevad kokku,
kuid neil on erinev tüüp:
if ('3' !== 3) {
console.log('+++'); // käivitub see
} else {
console.log('---');
}
Koodi käivitamata määrake, mis prinditakse konsooli:
let test1 = '3';
let test2 = '3';
if (test1 != test2) {
console.log('+++');
} else {
console.log('---');
}
Koodi käivitamata määrake, mis prinditakse konsooli:
let test1 = '3';
let test2 = '3';
if (test1 !== test2) {
console.log('+++');
} else {
console.log('---');
}
Koodi käivitamata määrake, mis prinditakse konsooli:
let test1 = 3;
let test2 = '3';
if (test1 != test2) {
console.log('+++');
} else {
console.log('---');
}
Koodi käivitamata määrake, mis prinditakse konsooli:
let test1 = 3;
let test2 = '3';
if (test1 !== test2) {
console.log('+++');
} else {
console.log('---');
}
Koodi käivitamata määrake, mis prinditakse konsooli:
let test1 = 3;
let test2 = 2;
if (test1 !== test2) {
console.log('+++');
} else {
console.log('---');
}