Arytmetyka JavaScript
Operatory arytmetyczne JavaScript
Operatory arytmetyczne wykonują arytmetykę na liczbach (literały lub zmienne).
Operator | Description |
---|---|
+ | Addition |
- | Subtraction |
* | Multiplication |
** | Exponentiation (ES2016) |
/ | Division |
% | Modulus (Remainder) |
++ | Increment |
-- | Decrement |
Działania arytmetyczne
Typowa operacja arytmetyczna operuje na dwóch liczbach.
Dwie liczby mogą być literałami:
Przykład
let x = 100 + 50;
lub zmienne:
Przykład
let x = a + b;
lub wyrażenia:
Przykład
let x = (100 + 50) * a;
Operatory i argumenty
Liczby (w operacji arytmetycznej) nazywane są operandami .
Operacja (do wykonania między dwoma operandami) jest definiowana przez operator .
Argument | Operator | Argument |
---|---|---|
100 | + | 50 |
Dodawanie
Operator dodawania ( +
) dodaje liczby:
Przykład
let x = 5;
let y = 2;
let z = x + y;
Odejmowanie
Operator odejmowania ( -
) odejmuje liczby.
Przykład
let x = 5;
let y = 2;
let z = x - y;
Mnożenie
Operator mnożenia ( *
) mnoży liczby.
Przykład
let x = 5;
let y = 2;
let z = x * y;
Działowy
Operator dzielenia ( /
) dzieli liczby.
Przykład
let x = 5;
let y = 2;
let z = x / y;
Reszta
Operator modulo ( %
) zwraca resztę z dzielenia.
Przykład
let x = 5;
let y = 2;
let z = x % y;
W arytmetyce dzielenie dwóch liczb całkowitych daje iloraz i resztę .
W matematyce wynikiem operacji modulo jest pozostałość z dzielenia arytmetycznego.
Przyrost
Operator inkrementacji ( ++
) zwiększa liczby.
Przykład
let x = 5;
x++;
let z = x;
Zmniejszanie
Operator dekrementacji ( --
) zmniejsza liczby.
Przykład
let x = 5;
x--;
let z = x;
Potęgowanie
Operator potęgowania ( **
) podnosi pierwszy operand do potęgi drugiego operandu.
Przykład
let x = 5;
let z =
x ** 2; // result is 25
x ** y daje taki sam wynik jak Math.pow(x,y)
:
Przykład
let x = 5;
let z =
Math.pow(x,2); // result is 25
Pierwszeństwo operatora
Pierwszeństwo operatorów opisuje kolejność wykonywania operacji w wyrażeniu arytmetycznym.
Przykład
let x = 100 + 50 * 3;
Czy wynik w powyższym przykładzie jest taki sam jak 150 * 3, czy też 100 + 150?
Czy najpierw wykonuje się dodawanie czy mnożenie?
Podobnie jak w tradycyjnej matematyce szkolnej, najpierw wykonuje się mnożenie.
Mnożenie ( *
) i dzielenie ( /
) mają wyższy priorytet niż dodawanie ( +
) i odejmowanie ( -
).
I (jak w matematyce szkolnej) pierwszeństwo można zmienić za pomocą nawiasów:
Przykład
let x = (100 + 50) * 3;
Podczas korzystania z nawiasów operacje wewnątrz nawiasów są obliczane jako pierwsze.
Gdy wiele operacji ma ten sam priorytet (jak dodawanie i odejmowanie), są one obliczane od lewej do prawej:
Przykład
let x = 100 + 50 - 3;
Wartości pierwszeństwa operatora JavaScript
Jasnoczerwone wpisy oznaczają ECMAScript 2015 (ES6) lub nowszy.
Wartość | Operator | Opis | Przykład |
---|---|---|---|
21 | ( ) | Grupowanie wyrażeń | (3 + 4) |
20 | . | Członek | imię osoby |
20 | [] | Członek | imię osoby"] |
20 | () | Wywołanie funkcji | mojaFunkcja() |
20 | Nowy | Tworzyć | Nowa data() |
18 | ++ | Przyrost przyrostka | i++ |
18 | -- | Dekrementacja przyrostka | i-- |
17 | ++ | Przyrost prefiksu | ++i |
17 | -- | Zmniejszenie prefiksu | --i |
17 | ! | Logiczne nie | !(x==y) |
17 | typ | Rodzaj | typ x |
16 | ** | Potęgowanie (ES2016) | 10 ** 2 |
15 | * | Mnożenie | 10*5 |
15 | / | Dział | 10 / 5 |
15 | % | Pozostała część dywizji | 10% 5 |
14 | + | Dodatek | 10 + 5 |
14 | - | Odejmowanie | 10 - 5 |
13 | << | Przesuń w lewo | x << 2 |
13 | >> | Przesuń w prawo | x >> 2 |
13 | >>> | Przesuń w prawo (bez znaku) | x >>> 2 |
12 | < | Mniej niż | x < y |
12 | <= | Mniejsze lub równe | x <= y |
12 | > | Lepszy niż | x > y |
12 | >= | Większy bądź równy | x >= y |
12 | w | Nieruchomość w obiekcie | „PI” w matematyce |
12 | wystąpienie | Instancja obiektu | wystąpienie Array |
11 | == | Równy | x == y |
11 | === | Ścisłe równe | x === y |
11 | != | Nierówny | x != y |
11 | !== | Ściśle nierówne | x !== y |
10 | & | Bitowe AND | x i y |
9 | ^ | Bitowe XOR | x ^ y |
8 | | | Bitowe OR | x | Y |
7 | && | Logiczne AND | x && y |
6 | || | Logiczne OR | x || Y |
5 | ?? | Zerowe połączenie | x?? Y |
4 | ? : | Stan: schorzenie | ? "Tak nie" |
3 | += | Zadanie | x += y |
3 | /= | Zadanie | x /= y |
3 | -= | Zadanie | x -= y |
3 | *= | Zadanie | x *= y |
3 | %= | Zadanie | x %= y |
3 | <<= | Zadanie | x <<= y |
3 | >>= | Zadanie | x >>= y |
3 | >>>= | Zadanie | x >>>= y |
3 | &= | Zadanie | x &= y |
3 | ^= | Zadanie | x ^= y |
3 | |= | Zadanie | x |= y |
2 | dawać | Funkcja pauzy | wydajność x |
1 | , | Przecinek | 5 , 6 |
Wyrażenia w nawiasach są w pełni obliczane, zanim wartość zostanie użyta w pozostałej części wyrażenia.