Aritmetiska operatorer utför aritmetik på tal (bokstavar eller variabler).
Tillägg
Subtraktion
Multiplikation
Exponentiering (ES2016)
Division
Modul (återstod)
Ökning
Minskning
En typisk aritmetisk operation arbetar på två tal.
De två talen kan vara bokstavliga:
let x = 100 + 50;
Prova själv →
<!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>
eller variabler:
let x = a + b;
Prova själv →
<!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>
eller uttryck:
let x = (100 + 50) * a;
Prova själv →
<!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>
Siffrorna (i en aritmetisk operation) kallas operander.
Operationen (som ska utföras mellan de två operanderna) definieras av en operator.
Operand | Operator | Operand |
---|---|---|
100 | + | 50 |
Operatorn addition (+
) lägger till siffror:
let x = 5;
let y = 2;
let z = x + y;
Prova själv →
<!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>
Operatorn subtraktion (-
) subtraherar tal.
let x = 5;
let y = 2;
let z = x - y;
Prova själv →
<!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>
Operatorn multiplikation (*
) multiplicerar tal.
let x = 5;
let y = 2;
let z = x * y;
Prova själv →
<!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>
Operatorn division (/
) delar tal.
let x = 5;
let y = 2;
let z = x / y;
Prova själv →
<!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>
Operatorn modul (%
) returnerar divisionsresten.
let x = 5;
let y = 2;
let z = x % y;
Prova själv →
<!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>
I aritmetik ger divisionen av två heltal en kvot och en rest.
I matematik är resultatet av en modulooperation återstoden av en aritmetisk division.
Operatorn öka (++
) ökar siffror.
let x = 5;
x++;
let z = x;
Prova själv →
<!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>
Operatorn minska (--
) minskar siffror.
let x = 5;
x--;
let z = x;
Prova själv →
<!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>
Operatorn exponentiering (**
) höjer den första operanden till potensen av den andra operanden.
let x = 5;
let z =
x ** 2;
Prova själv →
<!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 ger samma resultat som Math.pow(x,y)
:
let x = 5;
let z =
Math.pow(x,2);
Prova själv →
<!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>
Operatörsprioritet beskriver i vilken ordning operationer utförs ett aritmetiskt uttryck.
let x = 100 + 50 * 3;
Prova själv →
<!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>
Är resultatet av exemplet ovan detsamma som 150 * 3, eller är det samma som 100 + 150?
Görs additionen eller multiplikationen först?
Som i traditionell skolmatematik görs multiplikationen först.
Multiplikation (*
) och division (/
) har högre prioritet än addition (+
) och subtraktion (-
).
Och (som i skolmatematiken) kan företrädet ändras genom att använda parentes.
När du använder parentes beräknas operationerna inuti parenteserna först:
let x = (100 + 50) * 3;
Prova själv →
<!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>
När många operationer har samma prioritet (som addition och subtraktion eller multiplikation och division), beräknas de från vänster till höger:
let x = 100 + 50 - 3;
Prova själv →
<!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;
Prova själv →
<!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>
För en fullständig lista över operatörsprioritetsvärden, gå till:
JavaScript-operatörspreferensvärden.