Aritmetika JavaScriptu
JavaScriptové aritmetické operátory
Aritmetické operátory provádějí aritmetiku čísel (literálů nebo proměnných).
Operator | Description |
---|---|
+ | Addition |
- | Subtraction |
* | Multiplication |
** | Exponentiation (ES2016) |
/ | Division |
% | Modulus (Remainder) |
++ | Increment |
-- | Decrement |
Aritmetické operace
Typická aritmetická operace pracuje se dvěma čísly.
Tato dvě čísla mohou být doslovná:
Příklad
let x = 100 + 50;
nebo proměnné:
Příklad
let x = a + b;
nebo výrazy:
Příklad
let x = (100 + 50) * a;
Operátoři a operandy
Čísla (v aritmetické operaci) se nazývají operandy .
Operace (která má být provedena mezi dvěma operandy) je definována operátorem .
Operand | Operátor | Operand |
---|---|---|
100 | + | 50 |
Přidávání
Operátor sčítání ( +
) přidává čísla:
Příklad
let x = 5;
let y = 2;
let z = x + y;
Odečítání
Operátor odčítání ( -
) odečítá čísla.
Příklad
let x = 5;
let y = 2;
let z = x - y;
Násobení
Operátor násobení ( *
) násobí čísla.
Příklad
let x = 5;
let y = 2;
let z = x * y;
Dělení
Operátor dělení ( /
) dělí čísla.
Příklad
let x = 5;
let y = 2;
let z = x / y;
Zbytek
Operátor modulu ( %
) vrací zbytek dělení.
Příklad
let x = 5;
let y = 2;
let z = x % y;
V aritmetice dělení dvou celých čísel vytváří podíl a zbytek .
V matematice je výsledkem operace modulo zbytek aritmetického dělení.
Zvyšování
Operátor přírůstku ( ++
) zvyšuje čísla.
Příklad
let x = 5;
x++;
let z = x;
Dekrementování
Operátor dekrementace ( --
) snižuje čísla.
Příklad
let x = 5;
x--;
let z = x;
Umocňování
Operátor umocnění ( **
) zvýší první operand na mocninu druhého operandu.
Příklad
let x = 5;
let z =
x ** 2; // result is 25
x ** y dává stejný výsledek jako Math.pow(x,y)
:
Příklad
let x = 5;
let z =
Math.pow(x,2); // result is 25
Přednost operátora
Priorita operátorů popisuje pořadí, ve kterém jsou operace prováděny v aritmetickém výrazu.
Příklad
let x = 100 + 50 * 3;
Je výsledek výše uvedeného příkladu stejný jako 150 * 3, nebo je stejný jako 100 + 150?
Provádí se nejprve sčítání nebo násobení?
Stejně jako v tradiční školní matematice se nejprve provádí násobení.
Násobení ( *
) a dělení ( /
) mají vyšší prioritu než sčítání ( +
) a odčítání ( -
).
A (stejně jako ve školní matematice) lze prioritu změnit pomocí závorek:
Příklad
let x = (100 + 50) * 3;
Při použití závorek se nejprve počítají operace uvnitř závorek.
Když má mnoho operací stejnou prioritu (jako sčítání a odčítání), počítají se zleva doprava:
Příklad
let x = 100 + 50 - 3;
Hodnoty priority operátora JavaScript
Bledě červené položky označují ECMAScript 2015 (ES6) nebo vyšší.
Hodnota | Operátor | Popis | Příklad |
---|---|---|---|
21 | ( ) | Seskupování výrazů | (3 + 4) |
20 | . | Člen | osoba.jméno |
20 | [] | Člen | osoba["jméno"] |
20 | () | Volání funkce | myFunction() |
20 | Nový | Vytvořit | nové datum() |
18 | ++ | Přírůstek Postfixu | i++ |
18 | -- | Postfix Decrement | já-- |
17 | ++ | Přírůstek předpony | ++i |
17 | -- | Snížení předpony | --i |
17 | ! | Logické ne | !(x==y) |
17 | Typ | Typ | typ x |
16 | ** | Umocnění (ES2016) | 10** 2 |
15 | * | Násobení | 10 * 5 |
15 | / | Divize | 10/5 |
15 | % | Zbytek divize | 10 % 5 |
14 | + | Přidání | 10 + 5 |
14 | - | Odčítání | 10 - 5 |
13 | << | Shift doleva | x << 2 |
13 | >> | Shift vpravo | x >> 2 |
13 | >>> | Shift vpravo (nepodepsané) | x >>> 2 |
12 | < | Méně než | x < y |
12 | <= | Menší nebo rovno | x <= y |
12 | > | Větší než | x > y |
12 | >= | Větší nebo rovno | x >= y |
12 | v | Nemovitost v objektu | "PI" v matematice |
12 | instanceof | Instance objektu | instanceof Array |
11 | == | Rovnat se | x == y |
11 | === | Přísně rovné | x === y |
11 | != | Nerovný | x != y |
11 | !== | Přísný nerovný | x !== y |
10 | & | Bitové AND | x & y |
9 | ^ | Bitový XOR | x ^ y |
8 | | | Bitově NEBO | x | Y |
7 | && | Logické AND | x && y |
6 | || | Logické NEBO | x || Y |
5 | ?? | Nullish Coalescing | X?? Y |
4 | ? : | Stav | ? "Ano ne" |
3 | += | Úkol | x + = y |
3 | /= | Úkol | x /= y |
3 | -= | Úkol | x -= y |
3 | *= | Úkol | x *= y |
3 | %= | Úkol | x %= y |
3 | <<= | Úkol | x <<= y |
3 | >>= | Úkol | x >>= y |
3 | >>>= | Úkol | x >>>= y |
3 | &= | Úkol | x &= y |
3 | ^= | Úkol | x ^= y |
3 | |= | Úkol | x |= y |
2 | výtěžek | Funkce pauzy | výnos x |
1 | , | Čárka | 5, 6 |
Výrazy v závorkách jsou plně vypočítány před použitím hodnoty ve zbytku výrazu.