Aritmetika JavaScript
Situasi yang biasa untuk mengatasi nilai adalah aritmetika.
Operator aritmetika JavaScript
Operator aritmetika melaksanakan operasi aritmetika terhadap nilai (teks atau variabel).
operator | deskripsi |
---|---|
+ | Pertambahan |
- | Pengurangan |
* | Perkalian |
** | Pangkat (ES2016) |
/ | Pembagian |
% | Koefisien |
++ | Penaikkan |
-- | Pengurangan |
Operator aritmetika
Operasi aritmetika tipikal akan mengoperasikan dua nilai.
Kedua bilangan ini dapat menjadi konstanta:
instans
var x = 7 + 8;
atau variabel:
instans
var x = a + b;
atau ekspresi:
instans
var x = (7 + 8) * a;
Operator dan operand
Dalam operasi aritmetika, bilangan disebutOperand.
Operasi (yang dilakukan antara dua operand)operatorDefinisi.
Operand | operator | Operand |
---|---|---|
7 | + | 8 |
Koefisien
KoefisienOperator (%
Mengembalikan sisanya dari pembagian.
var x = 7; var y = 2; var z = x % y;
Keterangan:Dalam aritmetika, pembagian dua bilangan bulat menghasilkan kuota dan sisanya.
Keterangan:Dalam matematika, hasil mod adalah sisanya dari pembagian aritmetik.
Pengurangan
PenguranganOperator (--
Mengurangi nilai bilangan.
var x = 7; x--; var z = x;
Pangkat
Operator pengangkat (**) menaikkan operand pertama ke pangkat operand kedua.
instans
var x = 5; var z = x ** 2; // Hasil adalah 25
Hasil x ** y sama dengan Math.pow(x,y):
instans
var x = 5; var z = Math.pow(x,2); // hasilnya 25
Prioritas operator
Prioritas operator (Operator precedence) menggambarkan urutan eksekusi operasi dalam ekspresi aritmetika.
instans
var x = 200 + 50 * 2;
Hasil contoh adalah 250 * 2 atau 200 + 100?
Apakah prioritas penambahan atau pengganda?
Dalam matematika sekolah tradisional, pengganda adalah prioritas.
dengan ganda (*
dengan pembagian (%
dengan penambahan (+
dengan pengurangan (-
dengan tinggiPrioritas.
Sama seperti di matematika sekolah, prioritas dapat diubah dengan menggunakan kurung:
instans
var x = (200 + 50) * 2;
Ketika menggunakan kurung, operator di dalam kurung akan dihitung pertama-tama.
Ketika beberapa operator memiliki prioritas yang sama (seperti penambahan dan pengurangan), perhitungan mereka akan dilakukan dari kiri ke kanan:
instans
var x = 200 + 50 - 2;
nilai prioritas operator JavaScript
nilai | operator | deskripsi | instans |
---|---|---|---|
20 | ( ) | pengelompokan ekspresi | (3 + 4) |
19 | . | anggota | person.name |
19 | [] | anggota | person["name"] |
19 | () | panggilan fungsi | myFunction() |
19 | new | membuat | new Date() |
17 | ++ | inkrement sufix | i++ |
17 | -- | dekrement sufix | i-- |
16 | ++ | inkrement prefix | ++i |
16 | -- | dekrement prefix | --i |
16 | ! | 逻辑否 | !(x==y) |
16 | typeof | jenis | typeof x |
15 | ** | pangkat (ES7) | 10 ** 2 |
14 | * | ganda | 10 * 5 |
14 | / | bagi | 10 / 5 |
14 | % | pembagian modulus | 10 % 5 |
13 | + | tambah | 10 + 5 |
13 | - | kurang | 10 - 5 |
12 | << | geser kiri | x << 2 |
12 | >> | geser kanan | x >> 2 |
12 | >>> | geser kanan (tanpa tandai) | x >>> 2 |
11 | < | lebih kecil | x < y |
11 | <= | lebih kecil atau sama dengan | x <= y |
11 | > | lebih besar | x > y |
11 | >= | lebih besar atau sama dengan | x >= y |
11 | in | properti di objek | "PI" di Math |
11 | instanceof | contoh objek | instanceof Array |
10 | == | sama | x == y |
10 | == | sama dengan | x === y |
10 | != | 不相等 | x != y |
10 | !== | 严格不相等 | x !== y |
9 | & | 按位与 | x & y |
8 | ^ | 按位 XOR | x ^ y |
7 | | | 按位或 | x | y |
6 | && | 逻辑与 | x && y |
5 | || | 逻辑否 | x || y |
4 | ? : | 条件 | ? "Yes" : "No" |
3 | = | 赋值 | x = y |
3 | += | 赋值 | x += y |
3 | -= | 赋值 | x -= y |
3 | *= | 赋值 | x *= y |
3 | %= | 赋值 | x %= y |
3 | <<= | 赋值 | x <<= y |
3 | >>= | 赋值 | x >>= y |
3 | >>>= | 赋值 | x >>>= y |
3 | &= | 赋值 | x &= y |
3 | ^= | 赋值 | x ^= y |
3 | |= | 赋值 | x |= y |
2 | yield | 暂停函数 | yield x |
1 | , | 逗号 | 7 , 8 |
注意:淡红色指示实验性或建议性的技术(ECMASScript 2016 或 ES7)
提示:括号中的表达式会在值在表达式的其余部分中被使用之前进行完全计算。