Rovnost podle hodnoty a typu v JavaScriptu

Předpokládejme, že chcete porovnávat tak, aby číslo v uvozovkách nebylo rovno stejnému číslu bez uvozovek. Jinými slovy, chcete porovnávat tak, aby porovnání bylo nejen podle hodnoty, ale také podle datového typu.

K tomu místo operátoru == je třeba použít operátor ===. V následujícím příkladě při porovnání řetězce '3' a čísla 3 bude podmínka nepravdivá, protože proměnné, ačkoli jsou si rovny hodnotou, nejsou stejného typu:

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

Zatímco při porovnání dvou řetězců '3' bude podmínka pravdivá:

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

Stejně tak při porovnání čísel:

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

Rozdíl mezi operátorem == a operátorem === se projeví právě tehdy, když jsou hodnoty stejné, ale liší se datový typ. V ostatních případech tyto operátory fungují stejně. Například při porovnání různých čísel se samozřejmě vypíše '---':

javascriptif (2 === 3) {
  console.log('+++');
} else {
  console.log('---'); // toto se provede
}
Задание 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 = 3;
    
if (test1 === test2) {
  console.log('+++');
} else {
  console.log('---');
}