JavaScript-aritmetiikka


Sisällysluettelo

    Näytä sisällysluettelo


JavaScript-aritmeettiset operaattorit

Aritmeettiset operaattorit suorittavat aritmeettisia lukuja (literaaleja tai muuttujia).

+

Lisäys

-

Vähennyslasku

*

Kertominen

**

Eksponentti (ES2016)

/

Division

%

Modulus (jäljellä)

++

Lisäys

--

Vähennys


Aritmeettiset operaatiot

Tyypillinen aritmeettinen operaatio toimii kahdella numerolla.

Nämä kaksi numeroa voivat olla literaaleja:

Esimerkki

let x = 100 + 50;

Kokeile itse →

<!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>

tai muuttujat:

Esimerkki

let x = a + b;

Kokeile itse →

<!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>

tai ilmaisuja:

Esimerkki

let x = (100 + 50) * a;

Kokeile itse →

<!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>

Operaattorit ja operandit

Numeroita (aritmeettisessa operaatiossa) kutsutaan operandeiksi.

Toiminnon (joka suoritetaan kahden operandin välillä) määrittää operaattori.

Operand Operator Operand
100 + 50


Lisätään

Addition-operaattori (+) lisää numeroita:

Esimerkki

let x = 5;
let y = 2;
let z = x + y;

Kokeile itse →

<!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ähentäminen

Vähennysoperaattori (-) vähentää lukuja.

Esimerkki

let x = 5;
let y = 2;
let z = x - y;

Kokeile itse →

<!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>

Kerrotaan

Kerto-operaattori (*) kertoo numerot.

Esimerkki

let x = 5;
let y = 2;
let z = x * y;

Kokeile itse →

<!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>

Jakaminen

jako-operaattori (/) jakaa numerot.

Esimerkki

let x = 5;
let y = 2;
let z = x / y;

Kokeile itse →

<!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>

Loput

Moduuli-operaattori (%) palauttaa jakojäännöksen.

Esimerkki

let x = 5;
let y = 2;
let z = x % y;

Kokeile itse →

<!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>

Aritmetiikassa kahden kokonaisluvun jakaminen tuottaa osamäärän ja loppuosa.

Matematiikassa modulo-operaation tulos on aritmeettisen jaon jäännös.


Kasvava

Increment-operaattori (++) lisää numeroita.

Esimerkki

let x = 5;
x++;
let z = x;

Kokeile itse →

<!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>

Vähentyy

Decrement-operaattori (--) pienentää lukuja.

Esimerkki

let x = 5;
 x--;
let z = x;

Kokeile itse →

<!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>

Eksponentointi

Exponentointi-operaattori (**) nostaa ensimmäisen operandin toisen operandin potenssiin.

Esimerkki

let x = 5;
let z =
 x ** 2;

Kokeile itse →

<!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 tuottaa saman tuloksen kuin Math.pow(x,y):

Esimerkki

let x = 5;
let z =
  Math.pow(x,2);

Kokeile itse →

<!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>

Operaattorin etusija

Operaattorin ensisijaisuus kuvaa järjestystä, jossa toiminnot suoritetaan aritmeettinen lauseke.

Esimerkki

let x = 100 + 50 * 3;

Kokeile itse →

<!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>

Onko yllä olevan esimerkin tulos sama kuin 150 * 3 vai onko se sama kuin 100 + 150?

Tehdäänkö yhteen- vai kertolasku ensin?

Kuten perinteisessä koulumatematiikassa, kertolasku tehdään ensin.

Kertolaskulla (*) ja jaolla (/) on suurempi etusija kuin yhteenlasku (+) ja vähennyslasku (-).

Ja (kuten koulumatematiikassa) etusijaa voidaan muuttaa käyttämällä suluissa.

Sulkuja käytettäessä lasketaan sulkujen sisällä olevat toiminnot ensimmäinen:

Esimerkki

let x = (100 + 50) * 3;

Kokeile itse →

<!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>

Kun monilla operaatioilla on sama etusija (kuten yhteenlasku ja vähennys- tai kerto- ja jakolasku), ne lasketaan vasemmalta oikein:

Esimerkkejä

let x = 100 + 50 - 3;

Kokeile itse →

<!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;

Kokeile itse →

<!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>

Huomautus

Täydellinen luettelo operaattorin prioriteettiarvoista on osoitteessa:

JavaScript-operaattorin ensisijaisuusarvot.