Wszystkie operatory w tej grupie służą do porównania dwóch wartości. Wynikiem takiego porównania jest zawsze wartość logiczna (typ Boolean).

Pierwszym operatorem z tej grupy jest operator równości == (zwróć uwagę że są to dwa znaki równości. Użycie tylko jednego znaku równości jest poprawne składniowo i oznacza przypisanie zamiast porównania, i może prowadzić do trudnych do wykrycia błędów). Jeżeli porównywane wartości są różnych typów, język JavaScript wykona odpowiednie konwersje (takie jak przy dodawaniu, co opisałem powyżej).

1 == 2; // false
2 == 2; // true

Można także szybko sprawdzić czy dwie wartości są różne – służy do tego celu operator !=. Stosuje się go identyczne jak operator ==:

1 != 2; // true
2 != 2; // false

Obydwa omówione operatory przed dokonaniem porównania dokonują konwersji typów aby one były zgodne. Jeżeli to jest niepożądane, i chcesz oprócz wartości sprawdzić także czy typy są identyczne (lub różne), to jest to także możliwe – do tego celu służą operatory === (sprawdzenie równości typu i wartości) oraz !== (sprawdzenie różności typu lub wartości).

1 === 1; // true
"1" === "1"; // true
1 === "1"; // false
1 === 2; // false
 
1 !== 1; // false
"1" !== "1"; // false
1 !== 2; // true
1 !== "1"; // true

Możliwe jest także porównywanie dwóch wartości aby sprawdzić która z nich jest np. większa. Służą do tego operatory:

  • < – mniejszy niż;
  • > – większy niż;
  • <= – mniejszy lub równy;
  • >= – większy lub równy.

Jeżeli obydwie porównywane wartości są ciągami znaków, wykonane zostanie porównanie leksykograficzne (inaczej porównanie alfabetyczne). Jeżeli tak nie będzie, obydwie wartości zostaną porównane jako liczby (po dokonaniu niezbędnych konwersji typów jeżeli to będzie konieczne).