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ạngToá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ứcMô tảVí dụ
19( )Nhóm lại biểu thức(3 + 4)
    
18.Thành viênperson.name
18[]Thành viênperson[“name”]
    
17()Gọi hàmmyFunction()
17newTạonew Date()
    
16++Tăng sau một đơn vịi++
16Giảm sau một đơn vịi–
    
15++Tăng trước một đơn vị++i
15Giảm trước một đơn vị–i
15!Phủ định!(x==y)
15typeofKiểutypeof x
    
14*Nhân10 * 5
14/Chia10 / 5
14%Mô đun (lấy phần dư)10 % 5
14 (thử nghiệm)**Luỹ thừa10 ** 2
    
13+Cộng10 + 5
13Trừ10 – 5
    
12<<Shift tráix << 2
12>>Shift phảix >> 2
    
11<Nhỏ hơnx < y
11<=Nhỏ hơn hoặc bằngx <= y
11>Lớn hơnx > y
11>=Lớn hơn hoặc bằngx >= y
    
10==Bằngx == y
10===Bằng chặtx === y
10!=Không bằngx != y
10!==Không bằng chặtx !== y
    
6&&x && y
5||Hoặcx || y
    
3=Gánx = y
3+=Gánx += y
3-=Gánx -= y
3*=Gánx *= y
3/=Gánx /= 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.

Leave a Comment

Back to Top