Bài 3: Toán tử và quy tắc dấu ngoặc trong Javascript

720

I. Toán tử số học

Trong toán học, chúng ta có các phép cộng, trừ, nhân chia. Trong lập trình những phép tính đó được mô tả dưới dạng các toán tử số học.

Toán tửMiêu tả
+Cộng hai toán hạng
Trừ toán hạng thứ hai từ toán hạng đầu
*Nhân hai toán hạng
/Phép chia
%Phép lấy số dư
++Toán tử tăng (++), tăng giá trị toán hạng thêm một đơn vị
--Toán tử giảm (–), giảm giá trị toán hạng đi một đơn vị

Ví dụ

// Phép cộng
var x = 1 + 1 + 1 + 2; # 5

// Phép trừ
var y = 1 - 1 - 1; # -1

// Phép chia
var z = 5 * 2; # 10;
 
// Phép chia
var a = 10/2; # 5

// Phép chia lấy dư
var b = 10 % 3; # 1

// Tăng giá trị lên 1 đơn vị;
var c = 1;
c++; # 2

// Giảm giá trị đi 1 đơn vị
var d = 2;
d--; # 1

Một số lưu ý khi sử dụng toán từ giữa các biến khác kiểu dữ liệu

Phần này quan trọng, các bạn nhớ đọc và lưu ý nhé.

// Toán tử + ngoài để cộng 2 số
// Còn được sử dụng để nối hai chuỗi lại với nhau
var x = "Hello ";
var y = "World";
var z = x + y; # Hello World

// Cộng một số ở dạng chuỗi với một số nguyên
// Phép cộng thực hiện như nối hai chuỗi với nhau
var a = "10"; # Số 10 nhưng ở dạng chuỗi
var b = 1;
var c = a + b; # "101"

// Trừ một số ở dạng chuỗi với một số nguyên
// Phép trừ thực hiện như trừ hai số nguyên với nhau
var a = "10";
var b = 1;
var c = a - b; # 9

// Javascript hài hước đúng không?

II. Toán tử so sánh

Toán tửMô tả
==Trả về true nếu các toán hạng bằng nhau.
!=Trả về true nếu các toán hạng không bằng nhau.
===Trả về true nếu các toán hạng bằng nhau và cùng kiểu dữ liệu.
!==Trả về true nếu các toán hạng không bằng nhau, hoặc khác kiểu dữ liệu.
>Trả về true nếu toán hạng bên trái lớn hơn toán hạng bên phải.
>=Trả về true nếu toán hạng bên trái lớn hơn hoặc bằng toán hạng bên phải.
<Trả về true nếu toán hạng bên trái nhỏ hơn toán hạng bên phải.
=Trả về true nếu toán hạng bên trái ?nhỏ hơn hoặc bằng toán hạng bên phải.

Ví dụ

var x = 1;

x == 1 # true
x != 1 # false

x === 1 # true
x === "1" # false, do "1" là string

x <= 1 # true
x < 1 # false

x > 1 # false
x >= 1 # true

Một vài lưu ý quan trọng khi so sánh các giá trị khác kiểu dữ liệu

Một vài lưu ý đặc biệt quan trọng sau, bạn hãy theo dõi ví dụ.

var x = true;

// Nếu sử dụng toán tử == để so sánh với giá trị true
// thì tất cả các số nguyên khác 0, hoặc chuỗi số khác "0"
// đều bằng true
1 == true    # true
2 == true    # true
"1" == true" # true
"2" == true  # true
0 == true    # false
"0" == true  # false
"a" == true  # false

Kết quả của toán tử so sánh luôn trả về kiểu dữ liệu bool (true hoặc false)

II. Toán tử logic

Toán tử logic là toán tử kết luận một toán hạng là true hay false.

Toán tửMô tả
&&Trả về true khi cả hai vế đều là true. Giống như từ “và”.
||Trả về true khi một trong hai vế là true. Giống như từ “hoặc”.
!Phủ định lại giá trị của toán hạng. Nếu toán hạng là true, phủ định lại sẽ là false và ngược lại.

Ví dụ

var x = 6;
var y = 12;

(x > 3) &amp;&amp; (y > 3) # true
(x > 6) &amp;&amp; (y > 6) # false
(x > 6) || (y > 6) # true
!(x > 3) # false

Giống như toán tử so sánh, kết quả của toán tử logic luôn trả về kiểu dữ liệu bool (true hoặc false).

IV. Quy tắc dấu ngoặc

Giống như quy tắc dấu ngoặc trong toán, các biểu thức nằm trong dấu ngoặc sẽ được ưu tiên thực hiện trước.

var x = 10/(2 + 3);
console.log(x); # 5

var y = (5 + 5)/2;
console.log(y); #5

V. Tổng kết

Qua bài này các bạn cần nắm rõ tất cả các toán tử trong Javascript, bởi nó cực kỳ quan trọng và sử dụng rất nhiều sau này.

Mình có một vài lưu ý như sau:

  • Lưu ý việc thực hiện các phép toán trên các biến có kiểu dữ liệu khác nhau.
  • Toán tử ==!= chỉ so sánh giá trị, toán tử ===!== so sánh cả kiểu dữ liệu.
  • Biểu thức trong dấu ngoặc luôn được thực hiện trước.

Hẹn gặp lại bạn trong những bài viết lần sau.