Język JavaScript posiada ściśle zdefiniowane reguły w jakiej kolejności powinny być obliczane poszczególne operatory – nazywa się to priorytetami operatorów. Im operator ma wyższy priorytet, tym wcześniej będzie wykonywany. Język nigdy nie dopuści do wykonania operatora, jeżeli jeszcze nie zostały wyliczone wartości operatorów o wyższych priorytetach – jedynym sposobem na zmianę tego jest użycie nawiasów ( )
.
W poniższej tabeli są wymienione wszystkie operatory, poczynając od tych od najwyższym priorytecie. Operatory znajdujące się w jednym wierszu posiadają identyczny priorytet.
Oczywiście nie musisz się tego wszystkiego uczyć na pamięć – raczej zapoznaj się pobieżnie z tą tabelką, aby w przyszłości mieć świadomość że takie coś istnieje, i gdzie można się odwołać aby sprawdzić czy problemy z jakimś wyrażeniem nie są właśnie spowodowane przez złą niż oczekiwana kolejnością obliczania operatorów w wyrażeniu.
Operatory | Opis |
---|---|
. [] () | Dostęp do pól, odwołania do tablic, wywołania funkcji i grupowanie wyrażeń |
++ — – ~ ! delete new typeof void | Operatory jednoargumentowe, pobranie typ wartości, tworzenie obiektów i wartości niezdefiniowane |
* / % | Mnożenie, dzielenie i dzielenie modulo |
+ – | Dodawanie, odejmowanie i łączenie ciągów znaków |
<< >> >>> | Przesunięcia bitowe |
< <= > >= instanceof | Mniejszy niż, mniejszy lub równy, większy niż, większy lub równy, sprawdzenie czy obiekt jest instancją klasy |
== != === !== | Równość, nierówność, dokładna równość i dokładna nierówność |
& | Iloczyn bitowy |
^ | Różnica symetryczna bitowa (XOR) |
| | Suma bitowa |
&& | Iloczyn logiczny |
|| | Suma logiczna |
?: | Operator warunkowy |
= += -= *= /= %= &= |= ^= <<= >>= >>>= | Przypisanie, przypisanie z operacją |
, | Obliczanie wielu wyrażeń |
Komentarze