Jednym z podstawowych tematów programistycznych są operatory jakie znajdziesz również tutaj, w języku JavaScript. Trzeba je niezaprzeczalnie opanować, aby w ogóle dyskutować o jakimkolwiek pisaniu programu ❗. Spokojnie pochylimy się nad każdym z nich i wytłumaczę co wolno, a czego nie wolno. Wchodzisz w to 🙂?

OPERATORY W JĘZYKU JAVASCRIPT SĄ POGRUPOWANE W BARDZIEJ SZCZEGÓŁOWE KATEGORIE!

Operatory dzielą się na poszczególne rodzaje. To nie są wyłącznie arytmetyczne, lecz są także relacyjne, logiczne czy też operatory przypisania. Musisz koniecznie rozróżniać o jakie może się rozchodzić koledze z zespołu, aby błyskawicznie się ze sobą dogadywać 🗣.

Zacznijmy od czegoś najbardziej oczywistego, co przyszłoby do głowy jako pierwsze większej części społeczeństwa 😊. Kiedy ludzie słyszą słowo "operator", to zwykle chodzi o arytmetyczny. Istotnie, są arytmetyczne operatory w języku JavaScript.

JAKIE WYSTĘPUJĄ OPERATORY ARYTMETYCZNE W JĘZYKU JAVASCRIPT?

W języku JavaScript znajdziesz następujące operatory arytmetyczne 👇:

  1. dodawanie (w tym inkrementacja),
  2. odejmowanie (w tym dekrementacja),
  3. mnożenie,
  4. dzielenie,
  5. modulo,
  6. potęgowanie.

I tłumaczymy po kolei ⏩!

DODAWANIE

Dodawanie jako operator dwuargumentowy (binarny) powoduje zsumowanie podanych składników pod postacią liczb całkowitych lub rzeczywistych, przy czym liczby z ułamkiem nazywamy w programowaniu "zmiennoprzecinkowymi" ℹ️. Dozwolona jest także mieszanina, czyli np. jedna całkowita, druga zmiennoprzecinkowa.

Oto przykładowy kod wypisujący sumę dwóch składników liczbowych przy użyciu dobrze znanego znaku plusa 👇:

console.log(25 + 6);

Podstawiając za składniki łańcuchy znaków tworzysz konkatenację - połączenie kilku łańcuchów lub arytmetycznych wyrażeń w jeden kompletny łańcuch:

console.log("Tekst A " + "i B.");

Ten przypadek "wyrzuci" na strumień wyjściowy łańcuch o treści:

"Tekst A i B."

Występuje też możliwość połączenia liczby z łańcuchem. Wówczas taka instrukcja:

console.log(25 + "Tekst");

spowoduje skonwertowanie liczby 25 na łańcuch znaków ("25"), wynikiem czego dostaniesz łańcuch:

"25Tekst"

a typ danych będzie łańcuchowy 😱.

ODEJMOWANIE

Odejmowanie nie różni się niczym od znanej ze szkoły podstawowej operacji różnicy w matematyce 😊. Podając przynajmniej dwie liczby (odjemną i odjemnik) pomiędzy znak minusaotrzymujemy wynik różnicy 👇:

console.log(14 - 6);

Żadnych innych posunięć nie ma w języku JavaScript. Gdyby nas interesowało "odejmowanie" łańcucha znaków, czyli "wycięcie" pewnego ciągu z łańcucha, to wówczas musimy sięgnąć po metodę "substring" 🙃.

MNOŻENIE

Iloczyn tworzony jest przy pomocy operatora "gwiazdki" (nazywanej "asteryskiem" ℹ️). Ponieważ to także jest operator dwuargumentowy, wprowadzając co najmniej dwie liczby z jednej i z drugiej strony, język JavaScript wyznaczy nam wynik mnożenia 👇:

console.log(6*9);
DZIELENIE

Iloraz wykonasz dzięki operatorowi dzielenia jaki jest reprezentowany przez znak ukośnika, "slash'a" czy bardziej konkretnie "forward slash'a" lub "foreslash'a" ('/') - ile tych określeń 😅. W każdym razie chodzi o operację podzielenia jednej liczby przez drugą 👇:

console.log(24 / 2);

Wynik ilorazu będzie zmiennoprzecinkowy, gdyż jak w matematyce, może być to liczba z ułamkiem:

console.log(4 / 5);
CO SIĘ STANIE JAK W JĘZYKU JAVASCRIPT PODZIELIMY DOWOLNĄ LICZBĘ PRZEZ ZERO?

Jak dobrze wiesz, dzielenie przez zero jest uznawane za działanie niedopuszczalne, więc gdybyś się skusił(a) na coś takiego 👇:

console.log(5 / 0);

to nie licz na sensowny wynik 😁. JavaScript wyrzuci wtedy wartość "Infinity".

Warto wiedzieć, że każdy język programowania odbiera to na swój własny sposób. W języku C doszłoby do awarii programu, w Javie do zgłoszenia wyjątku, a JavaScript zwraca wartość "Infinity". Pamiętaj, że to nie jest jednakowe! Natomiast sposób na to jest jednoznaczny: nie rób programowi na złość wstawiając bzdurne wyrażenia 😉.

RESZTA Z DZIELENIA A.K.A. "MODULO"

Słyszałeś(-aś) o operacji "modulo"? Modulo określa się w matematyce wyznaczanie reszty z dzielenia. W programowaniu nie używamy skrótu "mod", tylko korzystamy z symbolu procent ('%') 👇:

console.log(8 % 3);

To zwróci cyfrę 2, ponieważ w ósemce "mieszczą się" dwie trójki i zostaje 2 reszty. Gdybyś był(a) zainteresowany(-a) dlaczego jest taki, a nie inny wynik, sięgnij po artykuł klikając w załączony link ⛓.

POTĘGOWANIE

Operatory w języku JavaScript oferują coś jeszcze z serii arytmetycznych. Masz jeszcze możliwość ekspresowego potęgowania przy pomocy dwóch asterysków bez spacji (**). Tym sposobem 👇:

console.log(5**2);

unikasz konieczności wywoływania funkcji "Math.pow" albo co gorsza, korzystania z pętli "for" i ręcznego programowania podnoszenia do potęgi. "Keep it simple" 😀.

INKREMENTACJA

"Inkrementację" nazywamy operację zwiększenia liczbowej wartości zmiennej dokładnie o jeden w górę. Najczęściej spotkasz taki zapis 👇:

x++;    // postinkrementacja

I to jest "postinkrementacja". A tak wygląda "preinkrementacja":

++x;    // preinkrementacja

W programowaniu wyróżniamy "preinkrementację" i "postinkrementację". Zapraszam do załączonego artykułu po więcej szczegółów ℹ️. Ten sam efekt daje poniższa instrukcja, tylko nieco dłuższa:

x = x + 1;

Radzę od razu przyswajać sobie tę krótszą formę 👍.

DEKREMENTACJA

Dekrementacja jest operacją wprost przeciwną do inkrementacji i jej użycie spowoduje obniżenie liczbowej wartości zmiennej o 1. Tutaj jest "postdekrementacja" 👇:

x--;    // postdekrementacja

a tu, "predekrementacja":

--x;    // predekrementacja

co jest równoznaczne z:

x = x - 1;

Powtórzę się - od razu pisz w krótszej formie 😉!

Teraz czas na inne operatory w języku JavaScript, jakimi są relacyjne. Relacyjne, czyli służące do porównywania ze sobą wartości sposobem, jaki znamy z lekcji matematyki, czyli:

  • czy coś jest równe drugiemu,
  • czy coś jest większe od drugiego,
  • czy coś jest mniejsze bądź równe od drugiego.

i tak dalej.

JAKIE WYSTĘPUJĄ OPERATORY RELACYJNE W JĘZYKU JAVASCRIPT?

Poniższa tabela przedstawia wszystkie operatory relacyjne jakie występują w języku JavaScript 👇:

OPERATOR ZNACZENIE PRZYKŁAD
== równe 5 == 5
=== równe i TAKI SAM typ danych 8 === 8
!= różne 6 != 7
!== różne i TAKI SAM typ danych 8 !== 0
< mniejsze od 4 < 8
<= mniejsze bądź równe od 4 <= 4
> większe od 0 > 7
>= większe bądź równe od 1 >= -9

Te operatory można stosować nie tylko do liczb, lecz także do takich typów danych, jak łańcuchy, wartości logiczne czy obiekty 👍.

Przyjrzyj się czemuś ekskluzywnemu w języku JavaScript, a mianowicie na unikatową odmianę operatora porównania (drugi wiersz) mającego nie dwa, a TRZY znaki równości ⚠️! W wielu książkach możesz znaleźć zalecenie, by korzystać z tej odmiany operatora porównywania, zamiast z tej tradycyjnej. Powód jest istotny 🔴!

CO OZNACZAJĄ TRZY ZNAKI RÓWNOŚCI W JĘZYKU JAVASCRIPT?

Wspomniany operator sprawdza nie tylko wartość, lecz także zgodność typów danych 😮! W związku z tym, mając po lewej stronie cyfrę 5, a po prawej łańcuch znaków o wartości "5" 👇:

5 == "5";

zwróci...prawdę!!! A przy użyciu tego drugiego operatora porównania:

5 === "5";

okaże się fałszywe. Także zawsze patrz uważnie mój drogi/moja droga ile znaków jest umieszczonych (czy 2, czy 3) 🫵! Najprostszą odpowiedzią na pytanie: "który wykorzystywać?" jest: "używać tylko i wyłącznie tego drugiego!" 😄. Bo jest bezpieczniejsze ✅!

CZYM SIĘ RÓŻNI OPERATOR PORÓWNANIA OD OPERATORA PRZYPISANIA?

Nim przejdziesz dalej, zwrócę uwagę na różnicę pomiędzy operatorem przypisania (jeden znak równości), a operatorem porównania (dwa znaki równości). Operator przypisania stosujesz do przypisywania wartości, a operator porównania, do ich porównywania ✔️. Jeżeli nie odebrałeś(-aś) tej nauki od książki czy nauczyciela, przyjmij ją ode mnie. Łatwo się pomylić ze względu na podobieństwo ⚠️!

Logiczne operatory w języku JavaScript nie różnią się niczym od większości innych języków wysokiego poziomu, więc w tym przypadku masz do czynienia z wiedzą uniwersalną, którą możesz podstawić do innych języków 👍.

JAKIE WYSTĘPUJĄ OPERATORY LOGICZNE W JĘZYKU JAVASCRIPT?

Operatory logiczne występujące w języku JavaScript to 👇:

NA CZYM POLEGA KONIUNKCJA W JĘZYKU JAVASCRIPT?

Koniunkcja to jest zdanie logiczne zwracające prawdę wtedy i tylko wtedy, gdy WSZYSTKIE warunki zostały spełnione (wartość logiczna "true"). Chcąc zbudować koniunkcję w języku JavaScript, używamy dwóch znaków "ampersandu" ("&&") 👇:

console.log(5 === 5 && 8 > 7);

Przykładowy warunek zwróci prawdę, gdyż oba warunki są spełnione ✅. Natomiast to już nie:

console.log(5 === 5 && 1 > 9 && 3 > 5);

gdyż jest spełniony tylko jeden z trzech warunków ❌. Rozumiesz już 🙂?

NA CZYM POLEGA ALTERNATYWA W JĘZYKU JAVASCRIPT?

OR oznacza alternatywę, czyli zwrócenie na wyjściu prawdy, jeśli przynajmniej JEDEN z podanych warunków jest prawdziwy. Alternatywę oznaczamy podwójnym znakiem pionowej kreski jak przy wartości bezwzględnej (||).

Dla przykładu, ten kod 👇:

console.log(7 === 4 || 5 > 3);

da prawdę na wyjściu, bo wystarczy, że spełniony został ten drugi warunek ✅. Ale ten przykład okaże się fałszywy:

console.log(7 === 4 || 1 === 2 || 35 < 3);

bo żaden z warunków nie jest spełniony ❌.

NA CZYM POLEGA NEGACJA W JĘZYKU JAVASCRIPT?

Negacja znana pod hasłem NOT, to zanegowanie wyniku zdania logicznego. To, co było prawdą, stanie się fałszem. Odwrotnie tak samo, fałsz stanie się prawdą. Stosujemy znak wykrzyknika (!), jednak w przeciwieństwie do alternatywy i koniunkcji, przed jedną wartością (bo to jest operator unarny, czyli jednoargumentowy!) ⚠️. Umieszczamy go przed wyrażeniem logicznym lub wartością boolowską ℹ️.

To jest przykład z wyrażeniem stałym "false" (jest bez sensu, dałem tylko na potrzeby przykładu) 👇:

console.log(!false);

Odwróciwszy wartość, da wynik prawdziwy . A tu przykład z wyrażeniem logicznym:

console.log(!(5 === 5));

Fałsz, bo wyrażenie jest prawdziwe, lecz negacja odwraca wynik .

Tutaj zauważ, że umieściłem wyrażenie w nawiasie 💥!!! JavaScript jest znany od zaskakiwania programistów 😜 i dobrze jest dmuchać na zimne w takich sytuacjach, gdy kolejność wykonywania działań może być zupełnie inna ⚠️!

Ostatnie operatory w języku JavaScript jakie chcę przytoczyć, to operatory przypisania. Polegają one na przypisywaniu albo modyfikowaniu wartości zmiennej ℹ️. 

JAKIE WYSTĘPUJĄ OPERATORY PRZYPISANIA W JĘZYKU JAVASCRIPT?

Znowu użyję tabelarycznego zestawienia wszystkich operatorów przypisania oraz ich odpowiedników "na piechotę", jakie znajdziesz w języku JavaScript 👇:

OPERATOR KOMBINACJA ZAPIS ALTERNATYWNY ZNACZENIE
= brak przypisanie wartości
+= a += N a = a + N dodanie wartości do zmiennej
-= a -= N a = a - N odejmowanie wartości od zmiennej
*= a *= N a = a*N mnożenie zmiennej przez wartość
/= a /= N a = a / N dzielenie zmiennej przez wartość
%= a %= N a = a % N wyznaczenie reszty z dzielenia zmiennej przez wartość
**= a **= N a = a ** N potęgowanie wartości zmiennej przez wykładnik

Widzisz znak równości (pierwszy operator od góry)? To jest przypisywanie ℹ️! Dlatego uczulam ponownie, abyś nie pomylił(-a) przypisywania z porównywaniem ukazanym wyżej ⛔.

Tabelka przedstawia "skróty" zapisu modyfikacji wartości przy użyciu operatorów arytmetycznych, które zostały opisane na samym początku tego artykułu (zapis alternatywny). Radzę od razu opanować ich wykorzystywanie, gdyż są o wiele wygodniejsze 🌟.

Operatory w języku JavaScript

Operatory dzielą się na arytmetyczne, relacyjne, logiczne i przypisania. Różnią się symbolami i zastosowaniem, a wiedza o nich wszystkich jest niezbędna, aby konstruować przepływ programu tak jak się chce!


Operatory w języku JavaScript wymagały o wiele większych komentarzy ze swej strony, stąd taki wielgachny artykuł w porównaniu do poprzednich wpisów 😥. Spróbuj z całych sił zrozumieć ten temat w jak największym stopniu, gdyż bez znajomości operatorów możesz zapomnieć o napisaniu JAKIEGOKOLWIEK konkretnego programu 💣. Serio 🫵!

PODOBNE ARTYKUŁY