Arytmetyka JavaScript

Typowe scenariusze przetwarzania liczb to operacje arytmetyczne.

Operatorzy arytmetyczne JavaScript

Operatorzy arytmetyczne wykonują operacje arytmetyczne na liczbach (tekstach lub zmiennych).

operator opis
+ Dodawanie
- Odejmowanie
* Mnożenie
** Potęga (ES2016)
/ Dzielenie
% Koeficient
++ Zwiększenie
-- Zmniejszenie

Operatorzy arytmetyczne

Typowe operacje arytmetyczne operują na dwóch liczbach.

Te liczby mogą być literalami:

instancja

var x = 7 + 8;

spróbuj sam

Albo zmienna:

instancja

var x = a + b;

spróbuj sam

Albo wyrażenie:

instancja

var x = (7 + 8) * a;

spróbuj sam

Operatorami i operandami

W operacjach arytmetycznych liczby nazywane sąOperand.

Operacja (wykonana między dwoma operandami)operatorDefinicja.

Operand operator Operand
7 + 8

Dodawanie

DodawanieOperator (+Dodawanie:

var x = 7;
var y = 8;
var z = x + y; 

spróbuj sam

Odejmowanie

OdejmowanieOperator (-Odjąć.

var x = 7;
var y = 8;
var z = x - y; 

spróbuj sam

Mnożenie

MnożenieOperator (*Mnożnik.

var x = 7;
var y = 8;
var z = x * y; 

spróbuj sam

Dzielenie

DzielenieOperator (/Dzielnik.

var x = 7;
var y = 2;
var z = x / y; 

spróbuj sam

Koeficient

KoeficientOperator (%Zwraca resztę z dzielenia.

var x = 7;
var y = 2;
var z = x % y; 

spróbuj sam

Komentarz:W arytmetyce, dzielenie dwóch liczb całkowitych generuje kwotę i resztę.

Komentarz:W matematyce, wynik operacji modulo to reszta z dzielenia arytmetycznego.

Zwiększenie

ZwiększenieOperator (++Zwiększenie wartości liczby.

var x = 7;
x++;
var z = x;

spróbuj sam

Zmniejszenie

ZmniejszenieOperator (--Zmniejszenie wartości liczby.

var x = 7;
x--;
var z = x; 

spróbuj sam

Potęga

Operator wykładniczy (**) podnosi pierwszą liczbę do potęgi drugiej liczby.

instancja

var x = 5;
var z = x ** 2;          // wynik to 25

spróbuj sam

x ** y generuje wynik taki sam jak Math.pow(x,y):

instancja

var x = 5;
var z = Math.pow(x,2);   // wynik to 25

spróbuj sam

Priorytet operatora

Priorytet operatora (Operator precedence) opisuje kolejność wykonywania operacji w wyrażeniach arytmetycznych.

instancja

var x = 200 + 50 * 2;

spróbuj sam

Czy wynik to 250 * 2 czy 200 + 100?

Czy priorytet ma mnożenie czy dodawanie?

w tradycyjnej matematyce szkolnej, mnożenie ma priorytet.

mnożenie (*nawiasy i dzielenie (%nawiasy i dodawanie (+nawiasy i odejmowanie (-nawiasy posiadają wyższypriorytet.

Również, jak w matematyce szkolnej, można zmienić priorytet za pomocą nawiasów:

instancja

var x = (200 + 50) * 2;

spróbuj sam

Gdy używane są nawiasy, operatory w nawiasach są obliczane najpierw.

Gdy kilka operacji ma taki sam priorytet (np. dodawanie i odejmowanie), ich obliczenia są wykonywane od lewej do prawej:

instancja

var x = 200 + 50 - 2;

spróbuj sam

wartość priorytetu operatora JavaScript

wartość operator opis instancja
20 ( ) grupowanie wyrażeń (3 + 4)
       
19 . członek person.name
19 [] członek person["name"]
19 () wywołanie funkcji myFunction()
19 new tworzenie new Date()
       
17 ++ inkrementacja i++
17 -- dekrementacja i--
       
16 ++ przedpobieranie inkrementacji ++i
16 -- przedpobieranie dekrementacji --i
16 ! Logiczne zaprzeczenie !(x==y)
16 typeof typ typeof x
       
15 ** potęgowanie (ES7) 10 ** 2
       
14 * mnożenie 10 * 5
14 / dzielenie 10 / 5
14 % modulo 10 % 5
       
13 + dodawanie 10 + 5
13 - odejmowanie 10 - 5
       
12 << przesunięcie w lewo x << 2
12 >> przesunięcie w prawo x >> 2
12 >>> przesunięcie w prawo (nieskładane) x >>> 2
       
11 < mniejszy x < y
11 <= mniejszy lub równy x <= y
11 > większy x > y
11 >= większy lub równy x >= y
11 in właściwość obiektu "PI" w Math
11 instanceof przykład obiektu instanceof Tablica
       
10 == równy x == y
10 === równoważność x === y
10 != Nie równo x != y
10 !== Rzeczywiste nie równo x !== y
       
9 & Bitwise i x & y
8 ^ Bitwise XOR x ^ y
7 | Bitwise lub x | y
6 && Logiczne i x && y
5 || Logiczne zaprzeczenie x || y
4 ? : Warunek ? "Tak" : "Nie"
       
3 = Przypisanie x = y
3 += Przypisanie x += y
3 -= Przypisanie x -= y
3 *= Przypisanie x *= y
3 %= Przypisanie x %= y
3 <<= Przypisanie x <<= y
3 >>= Przypisanie x >>= y
3 >>>= Przypisanie x >>>= y
3 &= Przypisanie x &= y
3 ^= Przypisanie x ^= y
3 |= Przypisanie x |= y
       
2 yield Zatrzymany funkcja yield x
1 , Przecinek 7, 8

Uwaga:Jasnoróżowy wskazuje na eksperymentalne lub sugerowane technologie (ECMASScript 2016 lub ES7)

Wskazówka:Wyrażenia w nawiasach okrągłych są całkowicie obliczane przed użyciem wartości w reszcie wyrażenia.