Nerovnost podle hodnoty a typu v JavaScriptu

Kromě operátoru != existuje také operátor !==, který bere v úvahu typ při porovnávání. Podívejme se na rozdíly mezi nimi na příkladech.

Předpokládejme, že pomocí operátoru != se porovnávají dvě čísla 3. Tento operátor porovnává hodnoty na to, že se nerovnají. Protože naše hodnoty se právě rovnají, podmínka bude nepravdivá:

javascriptif (3 != 3) {
  console.log('+++');
} else {
  console.log('---'); // spustí se toto
}

Nyní nechť je jedna z našich hodnot v uvozovkách. V tomto případě operátor != je stále bude považovat za stejné (protože se shoduje hodnota, a typ není pro tento operátor důležitý) a podmínka bude opět nepravdivá:

javascriptif ('3' != 3) {
  console.log('+++');
} else {
  console.log('---'); // spustí se toto
}

Nyní porovnejme dvě čísla 3 pomocí operátoru !==. Ten je také bude považovat za stejná:

javascriptif (3 !== 3) {
  console.log('+++');
} else {
  console.log('---'); // spustí se toto
}

Ale pokud nyní jednu z trojek vezmeme do uvozovek, operátor !== bude považovat naše trojky za nerovné, protože, ačkoli se jejich hodnoty shodují, mají různý typ:

javascriptif ('3' !== 3) {
  console.log('+++'); // spustí se toto
} else {
  console.log('---');
}
Задание 1

Bez spuštění kodu určete, co se vypíše do konzole:

javascriptlet test1 = '3';
let test2 = '3';
    
if (test1 != test2) {
  console.log('+++');
} else {
  console.log('---');
}
Задание 2

Bez spuštění kodu určete, co se vypíše do konzole:

javascriptlet test1 = '3';
let test2 = '3';
    
if (test1 !== test2) {
  console.log('+++');
} else {
  console.log('---');
}
Задание 3

Bez spuštění kodu určete, co se vypíše do konzole:

javascriptlet test1 = 3;
let test2 = '3';
    
if (test1 != test2) {
  console.log('+++');
} else {
  console.log('---');
}
Задание 4

Bez spuštění kodu určete, co se vypíše do konzole:

javascriptlet test1 = 3;
let test2 = '3';
    
if (test1 !== test2) {
  console.log('+++');
} else {
  console.log('---');
}
Задание 5

Bez spuštění kodu určete, co se vypíše do konzole:

javascriptlet test1 = 3;
let test2 = 2;
    
if (test1 !== test2) {
  console.log('+++');
} else {
  console.log('---');
}