| operator | Opis |
|---|---|
| v1 + v2 | Dodawanie liczb lub połączenie łańcuchów |
| v1 - v2 | Odejmowanie liczb |
| v1 * v2 | Mnożenie liczb |
| v1 / v2 | Dzielenie liczb |
| v1 % v2 | Modulo (reszta po dzieleniu v1/v2) |
| v1 ? v2 : v3 | Jeżeli wartość v1 jest true, wtedy jest zwracana wartość v2, w innym przypadku jest zwracana wartość v3 |
| v1++ | Inkrement liczby = dodanie wartości 1 (v1 = v1 + 1) |
| v1-- | Dekrement liczby = odjęcie wartości 1 (v1 = v1 - 1) |
| v1 += v2; | Skrócony zapis dodawania (v1 = v1 + v2) |
| v1 -= v2; | Skrócony zapis odejmowania (v1 = v1 - v2) |
| v1 *= v2; | Skrócony zapis mnożenia (v1 = v1 * v2) |
| v1 /= v2; | Skrócony zapis dzielenia (v1 = v1 / v2) |
| +v1 | Operand unarny +, która próbuje przekonwertować operand (v1) na liczbę.
- Jeżeli operand jest liczbą, wtedy zostanie zwrócona wartość operanda.
- Jeżeli operand jest łańcuchem (reprezentującym liczbę całkowitą lub rzeczywistą), wtedy zostanie zwrócona wartość tej liczby.
Jeżeli łańcuch jest pusty (""), wtedy zostanie przekonwertowany na 0. - Jeżeli operand jest typu bool, wtedy true zostanie przekonwertowane na 1 a false na 0.
- null zostanie przekonwertowane na 0.
- Jeżeli operand nie można przekonwertować na ważną liczbę, wtedy wynikiem będzie wartość NaN (Not-a-Number). |
var val;
val = 1 + 2;
// Zwraca 3
val = true + 1;
// Zwraca 2
val = false + false;
// Zwraca 0
val = 6 + "Kociol";
// Zwraca "6Kociol"
val = "Kociol" + false;
// Zwraca "Kociolfalse"
val = "Kociol" + "Zawór";
// Zwraca "KociolZawór"
val = 12 % 5;
// Zwraca 2
val = -1 % 2;
// Zwraca -1
val = 1 % -2;
// Zwraca 1
val = -4 % 2;
// Zwraca -0
val = 5.5 % 2;
// Zwraca 1.5
val += 3.5;
// Skrócony zapis wyrażenia: val = val + 3.5;
val -= 6;
// Skrócony zapis wyrażenia: val = val - 6;| operator | Opis |
|---|---|
| v1 == v2 | Zwraca true jeżeli v1 oraz v2 są takie same |
| v1 != v2 | Zwraca true jeżeli v1 oraz v2 są różne |
| v1 >= v2 | Zwraca true jeżeli v1 jest większe lub równe v2 |
| v1 > v2 | Zwraca true jeżeli v1 jest większe niż v2 |
| v1 <= v2 | Zwraca true jeżeli v1 jest mniejsze lub równe v2 |
| v1 < v2 | Zwraca true jeżeli v1 jest mniejsze niż v2 |
var val;
val = 1 == 1;
// Zwraca true
val = 1 == "1";
// Zwraca true
val = "1" == 1;
// Zwraca true
val = 0 == false;
// Zwraca true
val = 1 != 2;
// Zwraca true
val = 1 != "1";
// Zwraca false
val = 1 != true;
// Zwraca false
val = 0 != false;
// Zwraca false| v1 && v2 | Logiczne AND (zwraca true jeżeli v1 oraz v2 jest true) |
| v1 || v2 | Logiczne OR (zwraca true jeżeli v1 lub v2 jest true) |
| !v1 | Logiczne NOT (zwraca true jeżeli v1 jest false) |
| operator | Opis |
|---|---|
| v1 & v2 | Bitowe AND (każdy bit wartości zwrotnej jest wynikiem operacji AND odpowiednich bitów v1 oraz v2) |
| v1 | v2 | Bitowe OR (każdy bit wartości zwrotnej jest wynikiem operacji OR odpowiednich bitów v1 oraz v2) |
| v1 ^ v2 | Bitowe XOR (każdy bit wartości zwrotnej jest wynikiem operacji XOR odpowiednich bitów v1 oraz v2 |
| ~v1 | Bitowe NOT (każdy bit wartości zwrotnej jest wynikiem operacji NOT odpowiedniego bitu v1). W systemie PROMOTIC na razie nie implementowane. |
| v1 << v2 | Bitowe przesunięcie wlewo (wartości bitów w v1 zostaną przesunięte o v2 bitów wlewo). Na przykład v1<<2 zwraca dwukrotność wartości v1. |
| v1 >> v2 | Bitowe przesunięcie w prawo (wartości bitów w v1 zostaną przesunięte o v2 bitów w prawo). Na przykład v1>>2 zwraca wynik dzielenia w zakresie liczb całkowitych v1/2. |