Operatory porównania i obiekty w JavaScript

W JavaScript, operatory porównania pozwalają na porównywanie wartości. Są one niezbędne do kontrolowania przepływu programu za pomocą instrukcji warunkowych, takich jak if czy pętle. Porównywanie prostych typów danych, jak liczby czy stringi, jest dość proste, ale porównywanie obiektów wymaga głębszego zrozumienia.

Operatorzy porównania

JavaScript oferuje kilka operatorów porównania:

  • == porównuje wartości po konwersji na wspólny typ (równość z konwersją typów),
  • === porównuje wartości i typy (równość bez konwersji typów),
  • != sprawdza, czy wartości są różne po konwersji typów,
  • !== sprawdza, czy wartości lub typy są różne (nierówność bez konwersji typów),
  • > sprawdza, czy lewa wartość jest większa niż prawa,
  • < sprawdza, czy lewa wartość jest mniejsza niż prawa,
  • >= sprawdza, czy lewa wartość jest większa lub równa prawej,
  • <= sprawdza, czy lewa wartość jest mniejsza lub równa prawej.

Porównywanie obiektów

W przypadku obiektów, operator == i === sprawdza, czy obiekty odnoszą się do tego samego miejsca w pamięci. Nie porównują one zawartości obiektów.

let car1 = { brand: "Ford", model: "Mustang", year: 1969 };
let car2 = { brand: "Ford", model: "Mustang", year: 1969 };
let car3 = car1;

console.log(car1 == car2); // false, ponieważ to są różne obiekty
                           // w pamięci, mimo że wartości są 
                           // takie same
console.log(car1 === car3); // true, ponieważ car3 odnosi się 
                            // do tego samego obiektu co car1

Podsumowanie

Operatory porównania w JavaScript są podstawowym narzędziem, które pozwala na kontrolę przepływu programu poprzez porównywanie wartości. Porównywanie prostych typów danych jest proste i bezpośrednie, ale porównywanie obiektów wymaga zrozumienia, że porównywane są referencje do obiektów, a nie ich zawartość. Referencja w tym kontekście oznacza wskazanie na adres w pamięci gdzie dany obiekt jest przechowywany.

Jeżeli chcesz przyśpieszyć swoją naukę chciałbym polecić mój kurs video JavaScript w którym nauczysz się tego języka od podstaw do zaawansowanych jego aspektów.

 

Scroll to Top