7. Toán tử trong JavaScript
7.4. Toán tử logic
Các toán tử logic được sử dụng chủ yếu để xác định giá trị boolean. Tuy nhiên, trong một số trường hợp các toán tử logic trả về giá trị của một trong các toán hạng chỉ định.
Các toán tử logic được mô tả trong bảng sau:
Từ những mô tả trên, ta rút ra được bảng chân trị (với các giá trị boolean) sau:
Các biểu thức có thể được chuyển đổi tương ứng thành false là các biểu thức được định giá trị là null, 0, chuỗi rỗng ("") hoặc không xác định.
Đối với các giá trị khác (không phải là boolean), xét các ví dụ sau: p1 = "cat" && "dog" // trả về giá trị dog
p2 = false && "dog" // trả về giá trị false p3 = "cat" && false // trả về giá trị false p4 = "cat" || "dog" // trả về giá trị cat p5 = false || "dog" // trả về giá trị dog p6 = "cat" || false // trả về giá trị cat p7 = !"cat" // trả về giá trị false
Toán tử Sử dụng Mô tả
&& bt1 && bt2
Toán tử logic AND, trả về giá trị là bt1 nếu bt1 có thể được chuyển đổi tương ứng thành false, ngoài ra trả về bt2.
Như vậy, khi sử dụng nó với các giá trị boolean, && trả về true nếu cả hai toán hạng đều là true, ngoài ra trả về giá trị false.
|| bt1 || bt2
Toán tử logic OR trả về giá trị bt1 nếu bt1 có thể được chuyển đổi tương ứng thành true, ngoài ra trả về bt2.
Như vậy, khi sử dụng với các giá trị boolean, || trả về true nếu mỗi toán hạng là true; nếu cả hai toán hạng là false thì trả về giá trị false.
! !bt
Toán tử logic NOT trả về false nếu toán hạng của nó có thể được chuyển đổi tương ứng thành true; ngoài ra trả về true
bt1 bt2 bt1 && bt2 bt1 || bt2 !bt1
True True True True False
True False False True False
False True False True True