JavaScript - Các Operator Logic

Xin chào các bạn, những pháp sư JavaScript tương lai! Hôm nay, chúng ta sẽ bắt đầu một chuyến hành trình thú vị vào thế giới của các operator logic. Đừng lo lắng nếu bạn mới bắt đầu học lập trình - tôi sẽ là người hướng dẫn thân thiện của bạn, và chúng ta sẽ khám phá chủ đề này từng bước một. Cuối bài học này, bạn sẽ sử dụng các operator logic như một chuyên gia!

JavaScript - Logical Operators

Các Operator Logic trong JavaScript

Các operator logic là những người quyết định trong thế giới lập trình. Chúng giúp chúng ta đưa ra những sự lựa chọn và kiểm soát luồng mã của mình. Trong JavaScript, chúng ta có ba operator logic chính:

Operator Tên Mô tả
&& AND Trả về true nếu cả hai toán tử đều là true
|| OR Trả về true nếu ít nhất một toán tử là true
! NOT Đảo giá trị boolean của toán tử

Hãy cùng lặn sâu vào từng operator này và xem chúng hoạt động như thế nào!

Operator Logic AND (&&) trong JavaScript

Operator AND (&&) giống như một người cha严格 - nó chỉ trả về true nếu cả hai toán tử của nó đều là true. Nếu bất kỳ toán tử nào là false, kết quả sẽ là false.

Hãy xem một số ví dụ:

let isAdult = true;
let hasID = true;

console.log(isAdult && hasID); // Output: true

let isTired = true;
let hasCoffee = false;

console.log(isTired && hasCoffee); // Output: false

Trong ví dụ đầu tiên, cả isAdulthasID đều là true, vì vậy kết quả là true. Đó giống như nói, "Bạn có thể vào câu lạc bộ nếu bạn là người lớn và bạn có CMND."

Trong ví dụ thứ hai, mặc dù isTired là true, nhưng hasCoffee là false, vì vậy kết quả là false. Đó giống như nói, "Tôi sẽ năng suất nếu tôi mệt và tôi có cà phê." Nhưng vì không có cà phê, nên không có năng suất!

Operator Logic OR (||) trong JavaScript

Operator OR (||) thì dễ dãi hơn - nó trả về true nếu ít nhất một trong các toán tử là true. Nó chỉ trả về false nếu cả hai toán tử đều là false.

Dưới đây là một số ví dụ:

let hasCash = true;
let hasCard = false;

console.log(hasCash || hasCard); // Output: true

let isRaining = false;
let isSnowing = false;

console.log(isRaining || isSnowing); // Output: false

Trong ví dụ đầu tiên, hasCash là true, vì vậy ngay cả khi hasCard là false, kết quả vẫn là true. Đó giống như nói, "Bạn có thể mua vật phẩm nếu bạn có tiền mặt hoặc thẻ." Có một trong hai là đủ.

Trong ví dụ thứ hai, cả isRainingisSnowing đều là false, vì vậy kết quả là false. Đó giống như nói, "Tôi sẽ ở trong nhà nếu trời mưa hoặc trời snowing." Nhưng vì không có điều kiện nào xảy ra, bạn có thể ra ngoài!

Operator Logic NOT (!) trong JavaScript

Operator NOT (!) là người nổi loạn trong nhóm - nó đảo giá trị boolean của toán tử. Nếu điều gì đó là true, nó sẽ làm cho nó thành false, và ngược lại.

Hãy xem nó trong hành động:

let isSunny = true;

console.log(!isSunny); // Output: false

let isMonday = false;

console.log(!isMonday); // Output: true

Trong ví dụ đầu tiên, isSunny là true, nhưng !isSunny là false. Đó giống như nói, "Nó không phải là晴天," khi thực tế nó là.

Trong ví dụ thứ hai, isMonday là false, nhưng !isMonday là true. Đó giống như ăn mừng rằng nó không phải là thứ Hai!

Tính ưu tiên của các Operator Logic

Giống như trong toán học, các operator logic có thứ tự ưu tiên. Dưới đây là cách chúng được xếp hạng:

  1. NOT (!)
  2. AND (&&)
  3. OR (||)

Điều này có nghĩa là NOT được đánh giá trước, sau đó là AND, và cuối cùng là OR. Hãy xem một ví dụ:

let a = true;
let b = false;
let c = true;

console.log(a || b && !c); // Output: true

Đây là cách nó được đánh giá:

  1. Đầu tiên, !c được đánh giá: !true trở thành false
  2. Sau đó, b && false được đánh giá: false && falsefalse
  3. Cuối cùng, a || false được đánh giá: true || falsetrue

Vậy kết quả cuối cùng là true.

Đánh giá ngắn mạch

Đánh giá ngắn mạch là một mẹo hay mà JavaScript sử dụng để tối ưu hóa các hoạt động logic. Nó có nghĩa là trong một số trường hợp, JavaScript không cần đánh giá tất cả các phần của một biểu thức logic để xác định kết quả.

Đối với operator AND:

console.log(false && anything); // Output: false

Trong trường hợp này, JavaScript biết rằng nếu toán tử đầu tiên là false, toàn bộ biểu thức sẽ là false, vì vậy nó không cần đánh giá anything.

Đối với operator OR:

console.log(true || anything); // Output: true

Ở đây, JavaScript thấy rằng toán tử đầu tiên là true, vì vậy nó biết toàn bộ biểu thức sẽ là true, không quan trọng anything là gì.

Điều này có thể rất hữu ích để tránh lỗi. Ví dụ:

let user = null;

console.log(user && user.name); // Output: null

Nếu user là null, JavaScript ngắn mạch và trả về null mà không cố gắng truy cập user.name, điều này sẽ gây ra lỗi.

Và thế là bạn đã hoàn thành khóa học nhanh về các operator logic trong JavaScript! Nhớ rằng, những kí hiệu nhỏ này là những công cụ mạnh mẽ trong bộ công cụ lập trình của bạn. Chúng giúp bạn đưa ra quyết định, kiểm soát luồng mã, và thậm chí ngăn chặn lỗi.

Khi bạn tiếp tục hành trình JavaScript của mình, bạn sẽ thấy mình sử dụng các operator này ngày càng nhiều. Đừng ngại thử nghiệm với chúng - đó là cách bạn sẽ thực sự thành thạo chúng. Chúc các bạn may mắn và các hoạt động logic của bạn luôn mang lại kết quả như mong đợi!

Credits: Image by storyset