Categories JavaScript

Các phép toán trong JavaScript

Một phần bao giờ cũng quan trọng trong bất cứ ngôn ngữ lập trình nào, đó là thao tác trên các con số. Hôm nay chúng ta sẽ xem điều ấy trong JavaScript.


Các toán tử số học trong JavaScript

Nó có thể làm việc trên các con số thực sự, hoặc các biến chứa giá trị số.

Toán tử Mô tả
+ Cộng
Trừ
* Nhân
/ Chia
% Mô đun
++ Cộng 1
Trừ 1

Thao tác trên 2 số thực sự:

Ví dụ

var x = 100 + 50;

hoặc trên các biến:

Ví dụ

var x = a + b;

hoặc một biểu thức:

Ví dụ

var x = (100 + 50) * a;

Toán tử và toán hạng

Các con số trong biểu thức toán học được gọi là toán hạng.

Các phép tính (nằm giữa hai toán hạng) được gọi là toán tử.

Toán hạng Toán tử Toán hạng
87 + 89

Phép cộng

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

Phép trừ

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

Phép nhân

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

Phép chia

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

Mô đun (lấy phần dư)

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

Cộng thêm 1

var x = 5;
x++;
var z = x;

Trừ đi 1

var x = 5;
x--;
var z = x;

Phép tính ưu tiên

Phép tính ưu tiên mô tả thứ tự các phép tính được thực hiện trong biểu thức toán học.

Ví dụ

var x = 100 + 50 * 3;

Kết quả của ví dụ trên sẽ là 150 * 3 hay 100 + 150?

Phép cộng được thực hiện trước hay phép nhân?

Nếu bạn nhớ lại môn toán ngày xưa được dạy hồi cấp hai (hoặc cuối cấp một), thì sẽ biết là phép nhân được thực hiện trước, JavaScript cũng y như vậy.

Phép nhân (*) và phép chia (/) được ưu tiên cao hơn so với phép cộng (+) và phép trừ (-).

Thứ tự ưu tiên trên có thể được thay đổi khi bạn sử dụng dấu ngoặc đơn.

Ví dụ

var x = (100 + 50) * 3;

Khi dấu ngoặc đơn được sử dụng, phép toán bên trong dấu ngoặc đơn sẽ được tính toán trước.

Khi có nhiều phép tính có cùng thứ tự ưu tiên (ví dụ phép cộng và phép trừ), thì phép tính được tính từ trái qua phải:

Ví dụ

var x = 100 + 50 - 3;

Giá trị của biểu thức ưu tiên trong JavaScript

Giá trị Biểu thức Mô tả Ví dụ
19 ( ) Nhóm lại biểu thức (3 + 4)
       
18 . Thành viên person.name
18 [] Thành viên person[“name”]
       
17 () Gọi hàm myFunction()
17 new Tạo new Date()
       
16 ++ Tăng sau một đơn vị i++
16 Giảm sau một đơn vị i–
       
15 ++ Tăng trước một đơn vị ++i
15 Giảm trước một đơn vị –i
15 ! Phủ định !(x==y)
15 typeof Kiểu typeof x
       
14 * Nhân 10 * 5
14 / Chia 10 / 5
14 % Mô đun (lấy phần dư) 10 % 5
14 (thử nghiệm) ** Luỹ thừa 10 ** 2
       
13 + Cộng 10 + 5
13 Trừ 10 – 5
       
12 << Shift trái x << 2
12 >> Shift phải x >> 2
       
11 < Nhỏ hơn x < y
11 <= Nhỏ hơn hoặc bằng x <= y
11 > Lớn hơn x > y
11 >= Lớn hơn hoặc bằng x >= y
       
10 == Bằng x == y
10 === Bằng chặt x === y
10 != Không bằng x != y
10 !== Không bằng chặt x !== y
       
6 && x && y
5 || Hoặc x || y
       
3 = Gán x = y
3 += Gán x += y
3 -= Gán x -= y
3 *= Gán x *= y
3 /= Gán x /= y

Phép tính trong biểu thức có ngoặc sẽ được ưu tiên tính toán đầy đủ trước khi giá trị được sử dụng trong phần còn lại.

Back to Top