Aritmetické operátory provádějí aritmetiku čísel (literálů nebo proměnných).
Přidání
Odčítání
Násobení
Umocnění (ES2016)
Divize
Modul (zbytek)
Přírůstek
Dekrementovat
Typická aritmetická operace pracuje se dvěma čísly.
Tato dvě čísla mohou být doslovná:
let x = 100 + 50;
Zkuste to sami →
<!DOCTYPE html>
<html>
<body>
<h2>JavaScript Arithmetic</h2>
<p>A typical arithmetic operation takes two numbers and produces a new number.</p>
<p id="demo"></p>
<script>
let x = 100 + 50;
document.getElementById("demo").innerHTML = x;
</script>
</body>
</html>
nebo proměnné:
let x = a + b;
Zkuste to sami →
<!DOCTYPE html>
<html>
<body>
<h2>JavaScript Arithmetic</h2>
<p>A typical arithmetic operation takes two numbers (or variables) and produces a new number.</p>
<p id="demo"></p>
<script>
let a = 100;
let b = 50;
let x = a + b;
document.getElementById("demo").innerHTML = x;
</script>
</body>
</html>
nebo výrazy:
let x = (100 + 50) * a;
Zkuste to sami →
<!DOCTYPE html>
<html>
<body>
<h1>JavaScript Arithmetic</h1>
<h2>Arithmetic Operations</h2>
<p>A typical arithmetic operation takes two numbers (or expressions) and produces a new number.</p>
<p id="demo"></p>
<script>
let a = 3;
let x = (100 + 50) * a;
document.getElementById("demo").innerHTML = x;
</script>
</body>
</html>
Čísla (v aritmetické operaci) se nazývají operandy.
Operace (která má být provedena mezi dvěma operandy) je definována operátorem.
Operand | Operator | Operand |
---|---|---|
100 | + | 50 |
Operátor sčítání (+
) přidává čísla:
let x = 5;
let y = 2;
let z = x + y;
Zkuste to sami →
<!DOCTYPE html>
<html>
<body>
<h1>JavaScript Arithmetic</h1>
<h2>The + Operator</h2>
<p id="demo"></p>
<script>
let x = 5;
let y = 2;
let z = x + y;
document.getElementById("demo").innerHTML = z;
</script>
</body>
</html>
Operátor odčítání (-
) odečítá čísla.
let x = 5;
let y = 2;
let z = x - y;
Zkuste to sami →
<!DOCTYPE html>
<html>
<body>
<h1>JavaScript Arithmetic</h1>
<h2>The - Operator</h2>
<p id="demo"></p>
<script>
let x = 5;
let y = 2;
let z = x - y;
document.getElementById("demo").innerHTML = z;
</script>
</body>
</html>
Operátor násobení (*
) násobí čísla.
let x = 5;
let y = 2;
let z = x * y;
Zkuste to sami →
<!DOCTYPE html>
<html>
<body>
<h1>JavaScript Arithmetic</h1>
<h2>The * Operator</h2>
<p id="demo"></p>
<script>
let x = 5;
let y = 2;
let z = x * y;
document.getElementById("demo").innerHTML = z;
</script>
</body>
</html>
Operátor dělení (/
) dělí čísla.
let x = 5;
let y = 2;
let z = x / y;
Zkuste to sami →
<!DOCTYPE html>
<html>
<body>
<h1>JavaScript Arithmetic</h1>
<h2>The / Operator</h2>
<p id="demo"></p>
<script>
let x = 5;
let y = 2;
let z = x / y;
document.getElementById("demo").innerHTML = z;
</script>
</body>
</html>
Operátor modulus (%
) vrací zbytek dělení.
let x = 5;
let y = 2;
let z = x % y;
Zkuste to sami →
<!DOCTYPE html>
<html>
<body>
<h1>JavaScript Arithmetic</h1>
<h2>The % Operator</h2>
<p id="demo"></p>
<script>
let x = 5;
let y = 2;
let z = x % y;
document.getElementById("demo").innerHTML = z;
</script>
</body>
</html>
V aritmetice vytvoří dělení dvou celých čísel podíl a zbytek.
V matematice je výsledek operace modulo zbytkem aritmetického dělení.
Operátor přírůstek (++
) zvyšuje čísla.
let x = 5;
x++;
let z = x;
Zkuste to sami →
<!DOCTYPE html>
<html>
<body>
<h1>JavaScript Arithmetic</h1>
<h2>The ++ Operator</h2>
<p id="demo"></p>
<script>
let x = 5;
x++;
let z = x;
document.getElementById("demo").innerHTML = z;
</script>
</body>
</html>
Operátor dekrementovat (--
) snižuje čísla.
let x = 5;
x--;
let z = x;
Zkuste to sami →
<!DOCTYPE html>
<html>
<body>
<h1>JavaScript Arithmetic</h1>
<h2>The -- Operator</h2>
<p id="demo"></p>
<script>
let x = 5;
x--;
let z = x;
document.getElementById("demo").innerHTML = z;
</script>
</body>
</html>
Operátor umocnění (**
) umocní první operand na mocninu druhého operandu.
let x = 5;
let z =
x ** 2;
Zkuste to sami →
<!DOCTYPE html>
<html>
<body>
<h1>JavaScript Arithmetic</h1>
<h2>The ** Operator</h2>
<p id="demo"></p>
<script>
let x = 5;
document.getElementById("demo").innerHTML = x ** 2;
</script>
</body>
</html>
x ** y dává stejný výsledek jako Math.pow(x,y)
:
let x = 5;
let z =
Math.pow(x,2);
Zkuste to sami →
<!DOCTYPE html>
<html>
<body>
<h1>JavaScript Arithmetic</h1>
<h2>Math.pow()</h2>
<p id="demo"></p>
<script>
let x = 5;
document.getElementById("demo").innerHTML = Math.pow(x,2);
</script>
</body>
</html>
Priorita operátorů popisuje pořadí, ve kterém jsou operace prováděny aritmetický výraz.
let x = 100 + 50 * 3;
Zkuste to sami →
<!DOCTYPE html>
<html>
<body>
<h1>JavaScript Arithmetic</h1>
<h2>Operator Precedence</h2>
<p>Multiplication has precedence over addition.</p>
<p id="demo"></p>
<script>
document.getElementById("demo").innerHTML = 100 + 50 * 3;
</script>
</body>
</html>
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šší preferenci než sčítání (+
) a odčítání (-
).
A (stejně jako ve školní matematice) lze prioritu změnit pomocí závorky.
Při použití závorek se počítají operace uvnitř závorek První:
let x = (100 + 50) * 3;
Zkuste to sami →
<!DOCTYPE html>
<html>
<body>
<h1>JavaScript Arithmetic</h1>
<h2>Operator Precedence</h2>
<p>Multiplication has precedence over addition.</p>
<p>But parenthesis has precedence over multiplication.</p>
<p id="demo"></p>
<script>
document.getElementById("demo").innerHTML = (100 + 50) * 3;
</script>
</body>
</html>
Když má mnoho operací stejnou prioritu (jako sčítání a odčítání nebo násobení a dělení), počítají se zleva do že jo:
let x = 100 + 50 - 3;
Zkuste to sami →
<!DOCTYPE html>
<html>
<body>
<h1>JavaScript Arithmetic</h1>
<h2>Operator Precedence</h2>
<p>When many operations has the same precedence, they are computed from left to right.</p>
<p id="demo"></p>
<script>
document.getElementById("demo").innerHTML = 100 + 50 - 3;
</script>
</body>
</html>
let x = 100 / 50 * 3;
Zkuste to sami →
<!DOCTYPE html>
<html>
<body>
<h1>JavaScript Arithmetic</h1>
<h2>Operator Precedence</h2>
<p>When many operations has the same precedence, they are computed from left to right.</p>
<p id="demo"></p>
<script>
document.getElementById("demo").innerHTML = 100 / 50 * 3;
</script>
</body>
</html>
Úplný seznam hodnot priority operátorů naleznete na:
Hodnoty priority operátora JavaScriptu.