Arytmetyka JavaScript
- Poprzednia strona JS operatorzy
- Następna strona JS przypisanie
Typowe scenariusze przetwarzania liczb to operacje arytmetyczne.
Operatorzy arytmetyczne JavaScript
Operatorzy arytmetyczne wykonują operacje arytmetyczne na liczbach (tekstach lub zmiennych).
operator | opis |
---|---|
+ | Dodawanie |
- | Odejmowanie |
* | Mnożenie |
** | Potęga (ES2016) |
/ | Dzielenie |
% | Koeficient |
++ | Zwiększenie |
-- | Zmniejszenie |
Operatorzy arytmetyczne
Typowe operacje arytmetyczne operują na dwóch liczbach.
Te liczby mogą być literalami:
instancja
var x = 7 + 8;
Albo zmienna:
instancja
var x = a + b;
Albo wyrażenie:
instancja
var x = (7 + 8) * a;
Operatorami i operandami
W operacjach arytmetycznych liczby nazywane sąOperand.
Operacja (wykonana między dwoma operandami)operatorDefinicja.
Operand | operator | Operand |
---|---|---|
7 | + | 8 |
Koeficient
KoeficientOperator (%
Zwraca resztę z dzielenia.
var x = 7; var y = 2; var z = x % y;
Komentarz:W arytmetyce, dzielenie dwóch liczb całkowitych generuje kwotę i resztę.
Komentarz:W matematyce, wynik operacji modulo to reszta z dzielenia arytmetycznego.
Zwiększenie
ZwiększenieOperator (++
Zwiększenie wartości liczby.
var x = 7; x++; var z = x;
Zmniejszenie
ZmniejszenieOperator (--
Zmniejszenie wartości liczby.
var x = 7; x--; var z = x;
Potęga
Operator wykładniczy (**) podnosi pierwszą liczbę do potęgi drugiej liczby.
instancja
var x = 5; var z = x ** 2; // wynik to 25
x ** y generuje wynik taki sam jak Math.pow(x,y):
instancja
var x = 5; var z = Math.pow(x,2); // wynik to 25
Priorytet operatora
Priorytet operatora (Operator precedence) opisuje kolejność wykonywania operacji w wyrażeniach arytmetycznych.
instancja
var x = 200 + 50 * 2;
Czy wynik to 250 * 2 czy 200 + 100?
Czy priorytet ma mnożenie czy dodawanie?
w tradycyjnej matematyce szkolnej, mnożenie ma priorytet.
mnożenie (*
nawiasy i dzielenie (%
nawiasy i dodawanie (+
nawiasy i odejmowanie (-
nawiasy posiadają wyższypriorytet.
Również, jak w matematyce szkolnej, można zmienić priorytet za pomocą nawiasów:
instancja
var x = (200 + 50) * 2;
Gdy używane są nawiasy, operatory w nawiasach są obliczane najpierw.
Gdy kilka operacji ma taki sam priorytet (np. dodawanie i odejmowanie), ich obliczenia są wykonywane od lewej do prawej:
instancja
var x = 200 + 50 - 2;
wartość priorytetu operatora JavaScript
wartość | operator | opis | instancja |
---|---|---|---|
20 | ( ) | grupowanie wyrażeń | (3 + 4) |
19 | . | członek | person.name |
19 | [] | członek | person["name"] |
19 | () | wywołanie funkcji | myFunction() |
19 | new | tworzenie | new Date() |
17 | ++ | inkrementacja | i++ |
17 | -- | dekrementacja | i-- |
16 | ++ | przedpobieranie inkrementacji | ++i |
16 | -- | przedpobieranie dekrementacji | --i |
16 | ! | Logiczne zaprzeczenie | !(x==y) |
16 | typeof | typ | typeof x |
15 | ** | potęgowanie (ES7) | 10 ** 2 |
14 | * | mnożenie | 10 * 5 |
14 | / | dzielenie | 10 / 5 |
14 | % | modulo | 10 % 5 |
13 | + | dodawanie | 10 + 5 |
13 | - | odejmowanie | 10 - 5 |
12 | << | przesunięcie w lewo | x << 2 |
12 | >> | przesunięcie w prawo | x >> 2 |
12 | >>> | przesunięcie w prawo (nieskładane) | x >>> 2 |
11 | < | mniejszy | x < y |
11 | <= | mniejszy lub równy | x <= y |
11 | > | większy | x > y |
11 | >= | większy lub równy | x >= y |
11 | in | właściwość obiektu | "PI" w Math |
11 | instanceof | przykład obiektu | instanceof Tablica |
10 | == | równy | x == y |
10 | === | równoważność | x === y |
10 | != | Nie równo | x != y |
10 | !== | Rzeczywiste nie równo | x !== y |
9 | & | Bitwise i | x & y |
8 | ^ | Bitwise XOR | x ^ y |
7 | | | Bitwise lub | x | y |
6 | && | Logiczne i | x && y |
5 | || | Logiczne zaprzeczenie | x || y |
4 | ? : | Warunek | ? "Tak" : "Nie" |
3 | = | Przypisanie | x = y |
3 | += | Przypisanie | x += y |
3 | -= | Przypisanie | x -= y |
3 | *= | Przypisanie | x *= y |
3 | %= | Przypisanie | x %= y |
3 | <<= | Przypisanie | x <<= y |
3 | >>= | Przypisanie | x >>= y |
3 | >>>= | Przypisanie | x >>>= y |
3 | &= | Przypisanie | x &= y |
3 | ^= | Przypisanie | x ^= y |
3 | |= | Przypisanie | x |= y |
2 | yield | Zatrzymany funkcja | yield x |
1 | , | Przecinek | 7, 8 |
Uwaga:Jasnoróżowy wskazuje na eksperymentalne lub sugerowane technologie (ECMASScript 2016 lub ES7)
Wskazówka:Wyrażenia w nawiasach okrągłych są całkowicie obliczane przed użyciem wartości w reszcie wyrażenia.
- Poprzednia strona JS operatorzy
- Następna strona JS przypisanie