Trong hướng dẫn này, bạn sẽ tìm hiểu về toán tử So sánh và toán tử lôgic với sự trợ giúp của các ví dụ.
Toán tử so sánh JavaScript
Toán tử so sánh so sánh hai giá trị và trả về giá trị boolean: hoặc true
hoặc false
. Toán tử so sánh được sử dụng trong việc ra quyết định và các vòng lặp.
Nhà điều hành | Sự miêu tả | Thí dụ |
---|---|---|
== | Bằng : true nếu các toán hạng bằng nhau | 5==5; //true |
!= | Không bằng : true nếu các toán hạng không bằng nhau | 5!=5; //false |
=== | Nghiêm ngặt bằng : true nếu các toán hạng bằng nhau và cùng kiểu | 5==='5'; //false |
!== | Nghiêm ngặt không bằng : true nếu các toán hạng bằng nhau nhưng khác kiểu hoặc không bằng nhau | 5!=='5'; //true |
> | Lớn hơn : true nếu toán hạng bên trái lớn hơn toán hạng bên phải | 3>2; //true |
>= | Lớn hơn hoặc bằng : 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 | 3>=3; //true |
< | Nhỏ hơn : true nếu toán hạng bên trái nhỏ hơn toán hạng bên phải | 3<2; //false |
<= | Nhỏ hơn hoặc bằng : 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 | 2<=2; //true |
Ví dụ 1: Bằng toán tử
const a = 5, b = 2, c = 'hello'; // equal to operator console.log(a == 5); // true console.log(b == '2'); // true console.log(c == 'Hello'); // false
==
đánh giá true
xem các toán hạng có bằng nhau hay không.
Lưu ý : Trong JavaScript, ==
là một toán tử so sánh, trong khi =
là một toán tử gán. Nếu bạn sử dụng nhầm =
thay vì ==
, bạn có thể nhận được kết quả không mong muốn.
Ví dụ 2: Không bằng Toán tử
const a = 3, b = 'hello'; // not equal operator console.log(a != 2); // true console.log(b != 'Hello'); // true
!=
đánh giá true
nếu các toán hạng không bằng nhau.
Ví dụ 3: Nghiêm ngặt ngang bằng với toán tử
const a = 2; // strict equal operator console.log(a === 2); // true console.log(a === '2'); // false
===
đánh giá true
xem các toán hạng có bằng nhau và cùng kiểu hay không. Ở đây 2 và '2' là các số giống nhau nhưng kiểu dữ liệu khác nhau. Và ===
cũng kiểm tra kiểu dữ liệu trong khi so sánh.
Lưu ý : Sự khác biệt giữa ==
và ===
là:
==
đánh giá true
xem các toán hạng có bằng nhau hay không, tuy nhiên, chỉ ===
đánh giá true
nếu các toán hạng bằng nhau và cùng kiểu
Ví dụ 4: Nghiêm ngặt Không bằng Toán tử
const a = 2, b = 'hello'; // strict not equal operator console.log(a !== 2); // false console.log(a !== '2'); // true console.log(b !== 'Hello'); // true
!==
đánh giá true
nếu các toán hạng hoàn toàn không bằng nhau. Nó hoàn toàn trái ngược với hoàn toàn bình đẳng ===
.
Trong ví dụ trên, 2 != '2'
cho true
. Đó là vì các loại của chúng khác nhau mặc dù chúng có cùng giá trị.
Ví dụ 5: Lớn hơn Toán tử
const a = 3; // greater than operator console.log(a> 2); // true
>
đánh giá true
xem toán hạng bên trái có lớn hơn toán hạng bên phải hay không.
Ví dụ 6: Lớn hơn hoặc Bằng toán tử
const a = 3; // greater than or equal operator console.log(a>= 3); //true
>=
đánh giá true
xem toán hạng bên trái lớn hơn hoặc bằng toán hạng bên phải hay không.
Ví dụ 7: Toán tử nhỏ hơn
const a = 3, b = 2; // less than operator console.log(a < 2); // false console.log(b < 3); // true
<
đánh giá true
nếu toán hạng bên trái nhỏ hơn toán hạng bên phải.
Ví dụ 8: Nhỏ hơn hoặc Bằng toán tử
const a = 2; // less than or equal operator console.log(a <= 3) // true console.log(a <= 2); // true
<=
đánh giá true
xem toán hạng bên trái nhỏ hơn hoặc bằng toán hạng bên phải hay không.
Toán tử logic JavaScript
Toán tử logic thực hiện các phép toán logic: AND , OR và NOT .
Nhà điều hành | Sự miêu tả | Thí dụ |
---|---|---|
&& | Logical AND : true nếu cả hai toán hạng / giá trị boolean đều đúng, thì hàm khác đánh giá làfalse | true && false; // false |
|| | Hợp lý HOẶC : true nếu một trong hai giá trị toán hạng / boolean là true . đánh giá false xem cả hai đềufalse | true || false; // true |
! | Không logic : true nếu toán hạng là false và ngược lại. | !true; // false |
Ví dụ 9: Toán tử logic AND
const a = true, b = false; const c = 4; // logical AND console.log(a && a); // true console.log(a && b); // false console.log((c> 2) && (c < 2)); // false
&&
đánh giá true
nếu cả hai toán hạng đều là true
, các toán hạng khác đánh giá là false
.
Lưu ý: Bạn cũng có thể sử dụng các toán tử logic với các số. Trong JavaScript, 0 là false
và tất cả các giá trị khác 0 true
.
Ví dụ 10: Toán tử logic HOẶC
const a = true, b = false, c = 4; // logical OR console.log(a || b); // true console.log(b || b); // false console.log((c>2) || (c<2)); // true
||
đánh giá true
nếu một trong các toán hạng là true
. Nếu cả hai toán hạng đều là false
, kết quả là false
.
Ví dụ 11: Toán tử KHÔNG logic
const a = true, b = false; // logical NOT console.log(!a); // false console.log(!b); // true
!
đánh giá true
nếu toán hạng là false
và ngược lại.