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;

coba sendiri

atau variabel:

instans

var x = a + b;

coba sendiri

atau ekspresi:

instans

var x = (7 + 8) * a;

coba sendiri

Operator dan operand

Dalam operasi aritmetika, bilangan disebutOperand.

Operasi (yang dilakukan antara dua operand)operatorDefinisi.

Operand operator Operand
7 + 8

Pertambahan

PertambahanOperator (+Pemangkatan:

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

coba sendiri

Pengurangan

PenguranganOperator (-Pemangkatan.

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

coba sendiri

Perkalian

PerkalianOperator (*Pemangkatan.

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

coba sendiri

Pembagian

PembagianOperator (/Pembagian.

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

coba sendiri

Koefisien

KoefisienOperator (%Mengembalikan sisanya dari pembagian.

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

coba sendiri

Keterangan:Dalam aritmetika, pembagian dua bilangan bulat menghasilkan kuota dan sisanya.

Keterangan:Dalam matematika, hasil mod adalah sisanya dari pembagian aritmetik.

Penaikkan

PenaikkanOperator (++Menaikkan nilai bilangan.

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

coba sendiri

Pengurangan

PenguranganOperator (--Mengurangi nilai bilangan.

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

coba sendiri

Pangkat

Operator pengangkat (**) menaikkan operand pertama ke pangkat operand kedua.

instans

var x = 5;
var z = x ** 2;          // Hasil adalah 25

coba sendiri

Hasil x ** y sama dengan Math.pow(x,y):

instans

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

coba sendiri

Prioritas operator

Prioritas operator (Operator precedence) menggambarkan urutan eksekusi operasi dalam ekspresi aritmetika.

instans

var x = 200 + 50 * 2;

coba sendiri

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;

coba sendiri

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;

coba sendiri

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)

提示:括号中的表达式会在值在表达式的其余部分中被使用之前进行完全计算。