Relační operátory

SnoopySnoopy

V JS existují operátory pro porovnávání hodnot, které se nazývají relační operátory. Tyto operátory vrací hodnotu "true" nebo "false" podle toho, zda je jeden operand větší nebo menší.

Další relačné operátory v JavaScriptu jsou:

  • > (větší než): Porovnává dvě hodnoty a vrací hodnotu "true", pokud je levostranná hodnota větší než pravostranná hodnota.
  • >= (větší nebo rovno): Porovnává dvě hodnoty a vrací hodnotu "true", pokud je levostranná hodnota větší nebo rovna pravostranné hodnotě.
  • <^less (menší než): Porovnává dvě hodnoty a vrací hodnotu "true", pokud je levostranná hodnota menší než pravostranná hodnota.
  • <= (menší nebo rovno): Porovnává dvě hodnoty a vrací hodnotu "true", pokud je levostranná hodnota menší nebo rovna pravostranné hodnotě.

Relačné operátory se často používají v podmínkách, například v "if" nebo "while" smyčkách, kde slouží k porovnávání hodnot a určení, zda se má nebo nemá nějaký kód vykonat.

Konverze

Při použití relačných operátorů v JavaScriptu je důležité mít na paměti, že JavaScript používá specifické pravidla pro porovnávání hodnot různých datových typů. Například, pokud jsou hodnoty, které se porovnávají, různého datového typu, JavaScript použije následující pravidla:

  • Pokud jedna z hodnot je typu "string" a druhá je typu "number", převede se string na number a porovnají se hodnoty jako čísla.
  • Pokud jedna z hodnot je typu "boolean" a druhá je typu "number", převede se boolean na number (hodnota "true" se převede na 1 a hodnota "false" se převede na 0) a porovnají se hodnoty jako čísla.
  • Pokud jedna z hodnot je typu "object" a druhá je typu "primitive", převede se object na primitive a porovnají se hodnoty.

Pravidla pro porovnávání hodnot s "NaN" (Not a Number). "NaN" se vyskytuje, když se pokoušíte provést matematickou operaci s neplatnými hodnotami, například když se pokoušíte dělit nulu.

Při porovnávání hodnot s "NaN" se používají speciální metody, jako je "Number.isNaN()" nebo "Object.is()". Tyto operátory jsou navrženy tak, aby byly schopny správně porovnat hodnoty s "NaN" a zajistit, že se "NaN" nikdy nepovažuje za rovné jiným hodnotám.

Například:

console.log(NaN == NaN); // false
console.log(Number.isNaN(NaN)); // true
console.log(Object.is(NaN, NaN)); // true

Relačné operátory jsou užitečnými nástroji pro porovnávání hodnot v JavaScriptu, ale je důležité si uvědomit jejich specifická