Cảm ơn bạn!
Comparison và Logical Operators trong Javascript
Trong bài viết này, bạn sẽ tìm hiểu về toán tử so sánh - Comparison và toán tử lôgic - Logical Operators thông qua các ví dụ nhé 😁😀😀.
JavaScript Comparison Operators - Toán tử so sánh JavaScript
Toán tử so sánh dùng để so sánh hai giá trị và trả về một giá trị boolean
: true hoặc false. Các toán tử so sánh được sử dụng nhiều khi làm việc với vòng lặp.
Toán tử | Chú thích | Ví dụ |
---|---|---|
== |
Equal to - true nếu 2 toán hạng bằng nhau | 4 == '4' // true |
!= |
Not equal to - true nếu 2 toán hạng khác nhau | 4 != 'b' // true |
=== |
Strict equal to - true nếu các toán hạng bằng nhau và cùng kiểu | 6 === '6' // false |
!== |
Strict not equal to - true nếu các toán hạng không bằng nhau hoặc khác kiểu | 5 !== 5 // false |
> |
Greater than - true nếu toán hạng bên trái lớn hơn toán hạng bên phải | 6 > 6 // false |
>= |
Greater than or equal to - 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 | 10 >= 1 // true |
< |
Less than - true nếu nếu toán hạng bên trái nhỏ hơn toán hạng bên phải | 4 < -4 // false |
<= |
Less than or equal to - true nếu 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 | 5 <= 4 // false |
Ví dụ 1:
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
==
trả về là true
nếu các toán hạng bằng nhau.
Trong JavaScript,
==
là một toán tử so sánh, trong khi=
là một toán tử gán. Bạn nên lưu ý khi sử dụng 2 toán tử này, nếu bạn sử dụng nhầm=
thay vì==
, bạn có thể sẽ nhận được kết quả không mong muốn.
Ví dụ 2:
const a = -2, b = 'homiedev';
// not equal operator
console.log(a != 2); // true
console.log(b != 'Homiedev'); // true
!=
trả kết quả là true
nếu các toán hạng không bằng nhau.
Ví dụ 3:
const a = 'js';
const number = 2;
// strict equal operator
console.log(a === 'js'); // true
console.log(a === 'Js'); // false
console.log(number === '2'); // false
===
sẽ trả kết quả là true
nếu các toán hạng bằng nhau và cùng kiểu. Ở đây 2 và '2' là những con số giống nhau nhưng kiểu dữ liệu khác nhau nên kết quả sẽ là false.
Sự khác nhau giữa
==
và===
là:==
trả về true nếu các toán hạng bằng nhau, còn===
sẽ trả về true nếu các toán hạng bằng nhau và cùng kiểu.
Ví dụ 4:
const a = 4, b = 'trang';
// strict not equal operator
console.log(a !== 4); // false
console.log(a !== '4'); // true
console.log(b !== 'Trang'); // true
!==
sẽ trả về true nếu các toán hạng không bằng nhau.
Trong ví dụ trên, 4 !== '4'
trả về true. Đó là vì chúng có kiểu khác nhau mặc dù cùng giá trị.
Ví dụ 5:
const a = 2;
// greater than operator
console.log(a > -2); // true
// greater than or equal operator
console.log(a >= 1); // true
>
trả về kết quả 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ề kết quả 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.
Ví dụ 6:
const a = 3, b = 2;
// less than operator
console.log(a < 2); // false
console.log(b <= 3); // true
<
trả về kết quả true nếu toán hạng bên trái nhỏ hơn toán hạng bên phải.<=
trả về kết quả 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.
JavaScript Logical Operators
Toán tử lôgic thực hiện các phép toán lôgic: AND, OR và NOT.
Toán tử | Chú thích | Ví dụ |
---|---|---|
&& |
Logical AND - true nếu tất cả các toán hạng là true, một trong các toán hạng là false sẽ trả về false | true && false // false |
|| |
Logical OR - true nếu một trong các toán hạng là đúng, trả về false nếu cả hai đều false | true || false // true |
! |
Logic NOT - true nếu toán hạng sai và ngược lại | !false // true |
Ví dụ 7:
const a = true, b = false;
const c = 2;
// logical AND
console.log(a && a); // true
console.log(a && b); // false
console.log((c > 2) && (c < 2)); // false
&&
trả kết quả là true nếu các toán hạng là true, ngược lại là false.
Chúng ta 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 là true.
Ví dụ 8:
const a = false, b = true, c = 2;
// logical OR
console.log(a || b); // true
console.log(a || 2); // true
console.log((c>2) || (c<2)); // false
||
trả kết quả là true nếu một trong các toán hạng là true. Nếu cả hai toán hạng đều false, kết quả là false.
Ví dụ 9:
const a = true, b = false;
// logical NOT
console.log(!a); // false
console.log(!b); // true
console.log(!a && !b); // false
!
trả kết quả là true nếu toán hạng là false và ngược lại.
Như vậy là chúng ta đã tìm hiểu xong về toán tử logic và toán tử so sánh trong Javascript thông qua các ví dụ. Hy vọng bài viết giúp ích cho các bạn.
Cảm ơn các bạn đã đọc bài viết! Hẹn gặp các bạn trong các bài viết sắp tới 😁.