Nerovnosť podľa hodnoty a typu v JavaScripte
Okrem operátora != existuje aj
operátor !==, ktorý berie do úvahy typ pri
porovnávaní. Pozrime sa na rozdiely medzi
nimi na príkladoch.
Nech sa pomocou operátora != porovnávajú
dve čísla 3. Tento operátor porovnáva
hodnoty na to, že sa NEROVNAJÚ. Keďže
naše hodnoty sa práve rovnajú, tak
podmienka bude nepravdivá:
if (3 != 3) {
console.log('+++');
} else {
console.log('---'); // spustí sa toto
}
Nech je teraz jedna z našich hodnôt
v úvodzovkách. V tomto prípade operátor !=
ich aj tak bude považovať za rovnaké (keďže sa zhoduje
hodnota, a typ nie je pre tento operátor dôležitý)
a opäť podmienka bude nepravdivá:
if ('3' != 3) {
console.log('+++');
} else {
console.log('---'); // spustí sa toto
}
Porovnajme teraz dve čísla 3
pomocou operátora !==. Ten ich tiež
bude považovať za rovnaké:
if (3 !== 3) {
console.log('+++');
} else {
console.log('---'); // spustí sa toto
}
Ale ak teraz jednu z trojiaciek dáme do úvodzoviek,
operátor !== bude považovať naše trojky
za rôzne, pretože, hoci sa ich hodnoty zhodujú,
majú rôzny typ:
if ('3' !== 3) {
console.log('+++'); // spustí sa toto
} else {
console.log('---');
}
Bez spustenia kódu určite, čo sa vypíše do konzoly:
let test1 = '3';
let test2 = '3';
if (test1 != test2) {
console.log('+++');
} else {
console.log('---');
}
Bez spustenia kódu určite, čo sa vypíše do konzoly:
let test1 = '3';
let test2 = '3';
if (test1 !== test2) {
console.log('+++');
} else {
console.log('---');
}
Bez spustenia kódu určite, čo sa vypíše do konzoly:
let test1 = 3;
let test2 = '3';
if (test1 != test2) {
console.log('+++');
} else {
console.log('---');
}
Bez spustenia kódu určite, čo sa vypíše do konzoly:
let test1 = 3;
let test2 = '3';
if (test1 !== test2) {
console.log('+++');
} else {
console.log('---');
}
Bez spustenia kódu určite, čo sa vypíše do konzoly:
let test1 = 3;
let test2 = 2;
if (test1 !== test2) {
console.log('+++');
} else {
console.log('---');
}