Xin chào các bạn, trong bài học ngày hôm nay chúng ta sẽ cùng nhau tìm hiểu về toán tử Logic trong JavaScript.
Có ba toán tử logic trong JavaScript: || (HOẶC), && (Và), ! (Khác).
Mặc dù chúng được gọi là toán tử logic, nhưng chúng có thể được áp dụng cho các giá trị thuộc bất kỳ loại nào, không chỉ riêng kiểu boolean. Kết quả cũng có thể thuộc bất kỳ loại nào.
Bây giờ chúng ta sẽ đi vào nội dung chi tiết.
|| (OR)
Toán tử “OR” được biểu diễn bằng hai ký tự đường thẳng đứng:
1 |
result = a || b; // kết quả bằng a hoặc b |
Trong lập trình cổ điển, toán tử logic || chỉ có nghĩa là thao tác các giá trị boolean. Nếu bất kỳ đối số nào của nó là true, thì nó sẽ trả về true, ngược lại nó trả về false.
Trong JavaScript, toán tử hơi phức tạp và mạnh mẽ hơn một chút. Nhưng trước tiên chúng ta hãy xem các ví dụ với các giá trị boolean.
Có bốn sự kết hợp hợp lý:
1 2 3 4 |
alert( true || true ); // true alert( false || true ); // true alert( true || false ); // true alert( false || false ); // false |
Như chúng ta có thể thấy, kết quả luôn đúng trừ trường hợp cả hai toán hạng đều sai.
Nếu toán hạng không phải là boolean, thì toán hạng được chuyển thành boolean để đánh giá.
Ví dụ, số 1 được coi là đúng, một số 0 – là sai:
1 2 3 |
if (1 || 0) { // làm việc giống với if(true || false) alert( 'truthy!' ); } |
Hầu hết các trường hợp, toán tử || được sử dụng trong câu lệnh if để kiểm tra xem có bất kỳ điều kiện nào khả thi hay không.
Ví dụ:
1 2 3 4 5 |
var hour = 9; if (hour < 10 || hour > 18) { alert( 'Van phong dong cua' ); } |
&& (And)
Toán tử AND được biểu diễn bằng hai ký hiệu &&:
1 |
result = a && b; |
Trong lập trình cổ điển toán tử AND sẽ trả về true nếu cả hai toán hạng là true và false nếu một trong 2 điều kiện là false:
1 2 3 4 |
alert( true && true ); // true alert( false && true ); // false alert( true && false ); // false alert( false && false ); // false |
Một ví dụ với if:
1 2 3 4 5 6 |
var hour = 12; var minute = 30; if (hour == 12 && minute == 30) { alert( 'Time is 12:30' ); } |
Cũng giống như OR, bất kỳ giá trị nào đều được phép làm toán hạng của AND:
1 2 3 |
if (1 && 0) { // hoạt động giống true && false alert( "không hoạt động, bởi vì kết quả là false" ); } |
! (NOT)
Toán tử NOT được biểu diễn bằng dấu chấm than!
Cú pháp khá đơn giản:
1 |
result = !value; |
Toán tử chấp nhận một đối số duy nhất và thực hiện như sau:
- Chuyển đổi toán hạng thành kiểu boolean: true / false.
- Trả về giá trị nghịch đảo.
Ví dụ:
1 2 |
alert( !true ); // false alert( !0 ); // true |
Hai dấu chấm than !! đôi khi được sử dụng để chuyển đổi một giá trị thành kiểu boolean:
1 2 |
alert( !!"chuỗi không trống" ); // true alert( !!null ); // false |
Tức là, !! đầu tiên chuyển giá trị thành boolean và trả về nghịch đảo, và giá trị NOT thứ hai không đảo ngược nó lần nữa. Cuối cùng, chúng ta có một giá trị được chuyển đổi sang dạng boolean.
Kết luận
Như vậy trong bài học ngày hôm nay chúng ta đã cùng nhau tìm hiểu về toán tử Logic trong JavaScript. Trong bài học tiếp theo mình sẽ giới thiệu đến các bạn Vòng lặp trong JavaScript.
Chúc các bạn học tập tốt!