18/08/2018, 10:47

Biểu thức và các toán tử cơ bản trong JavaScript

1) Ôn lại một số khái niệm liên quan đến biểu thức toán học - Trong toán học, biểu thức là một tập hợp gồm các chữ số và các phép toán. - Trong biểu thức, các chữ số được gọi là toán hạng còn các phép toán thì được gọi là toán tử - Ví dụ: 10 + 5 - 2 là một biểu thức, trong đó 10, 5, ...

1) Ôn lại một số khái niệm liên quan đến biểu thức toán học

- Trong toán học, biểu thức là một tập hợp gồm các chữ số và các phép toán.

- Trong biểu thức, các chữ số được gọi là toán hạng còn các phép toán thì được gọi là toán tử

- Ví dụ: 10 + 5 - 2 là một biểu thức, trong đó 10, 5, 2 là toán hạng còn +, - là toán tử.

2) Biểu thức trong JavaScript

- Tương tự như trong toán học, biểu thức trong JavaScript cũng là một tập hợp gồm các toán hạng và các toán tử.

2.1) Toán hạng

- Điểm khác nhau giữa toán hạng trong JavaScript và toán hạng trong toán học chính là toán hạng trong JavaScript thì không nhất thiết phải là một chữ số, nó có thể là một giá trị hoặc một biến.

- Ví dụ, ở kịch bản bên dưới, giá trị của biến b là một biểu thức (trong đó biến a là một toán hạng).

<script>
    var a = 50;
    var b = a + 20; //Biến b sẽ có giá trị là 70
</script>

2.2) Toán tử

- Các toán tử trong JavaScript có chức năng giống với toán tử trong toán học.

- Tuy nhiên, một vài toán tử trong JavaScript có cách viết khác so với cách viết toán tử trong toán học.

- Bên dưới là danh sách những toán tử cơ bản nhất trong JavaScript:

Toán tử Tên gọi Ví dụ Kết quả Xem ví dụ
+ Phép cộng 10 + 4 14
Xem ví dụ
- Phép trừ 10 - 4 6
Xem ví dụ
* Phép nhân 10 * 4 40
Xem ví dụ
/ Phép chia 10 / 4 2.5
Xem ví dụ
% Phép chia lấy phần số dư 10 % 4 2
Xem ví dụ

- Phép cộng trong JavaScript tương đối khác so với phép cộng trong toán học. Trong JavaScript:

  • Số có thể cộng số => cho ra số.
  • Số có thể cộng chuỗi (hoặc chuỗi có thể cộng số) => cho ra chuỗi.
  • Chuỗi có thể cộng chuỗi => cho ra chuỗi.
Ví dụ
<script>
    var a = 5 + 7; //Biến a sẽ có giá trị là 12
    var b = 1993 + "Thành Nhân"; //Biến b sẽ có giá trị là 1993Thành Nhân
    var c = "Thành Nhân" + 1993; //Biến c sẽ có giá trị là Thành Nhân1993
    var d = "Nguyễn" + " Thành Nhân";  //Biến d sẽ có giá trị là Nguyễn Thành Nhân
</script>
Xem ví dụ

2.3) Độ ưu tiên của các toán tử

- Một biểu thức đơn giản sẽ bao gồm hai toán hạng và một toán tử, ví dụ: 5 + 9

- Một biểu thức phức tạp sẽ có nhiều toán hạng và nhiều toán tử (điều đó đồng nghĩa với việc trong một biểu thức phức tạp sẽ bao gồm nhiều biểu thức đơn giản), ví dụ: 7 + 8 * (10 - 2) + 3 * 4

- Thông thường, trong một biểu thức phức tạp, các biểu thức đơn giản sẽ thực thi lần lượt theo thứ tự từ trái sang phải. Tuy nhiên, tùy vào độ ưu tiên của toán tử sẽ quyết đinh biểu thức nào được thực thi trước.

- Ví dụ, thứ tự thực thi của biểu thức 7 + 8 * (10 - 2) + 3 * 4 như sau:

  • 7 + 8 * (10 - 2) + 3 * 4 => 7 + 8 * 8 + 3 * 4
  • 7 + 8 * 8 + 3 * 4 => 7 + 64 + 3 * 4
  • 7 + 64 + 3 * 4 => 7 + 64 + 12
  • 7 + 64 + 12 => 71 + 12
  • 71 + 12 => 83

- Dưới đây là bảng tổng hợp mức độ ưu tiên của một số toán tử cơ bản nhất trong JavaScript

Mức độ ưu tiên Toán tử
1 ( )
2 * / %
3 + -

2.4) Khoảng trắng giữa các toán hạng và toán tử

- Trong JavaScript, dấu khoảng trắng giữa các toán hạng và toán tử là không quan trọng (có cũng được, không có cũng không sao)

- Ví dụ, ba biểu thức bên dưới có cùng một kết quả:

  • 7 + 8 - 3 * 4
  • 7+8-3*4
  • 7+ 8- 3 *4
0