Toán tử OR (hoặc ) logic trong JavaScript là một toán tử trả về phía nếu phía bên trái là , nhưng nếu không thì mặc định và trả về phía bên phải. || bên trái trung thực Điều này có nghĩa là nó có thể được sử dụng để kiểm tra cả hai câu lệnh logic và cũng để trả về toán hạng bên phải nếu câu lệnh bên trái là . falsy Chúng ta hãy xem nó hoạt động như thế nào. Sự thật và Giả dối có nghĩa là gì trong JavaScript Trước khi chúng ta tiếp tục, trước tiên chúng ta hãy hiểu có nghĩa là gì. Nó có vẻ giống như một tuyên bố mơ hồ, nhưng nó thực sự có một định nghĩa rất cụ thể. Các giá trị sau là trong JavaScript: falsy falsy false hoặc hoặc 0 -0 0n chuỗi trống nào, tức là any "" null undefined NaN Tương tự, đơn giản có nghĩa là bất cứ điều gì giả . truthy không phải là falsy Vì có thể có nghĩa là và , đôi khi nó có thể là một lựa chọn tồi để đặt các giá trị mặc định. falsy 0 "" Ví dụ: trong một số trường hợp, nếu giá trị của bạn thực sự là và bạn muốn hiển thị nó, bạn sẽ không thể thực hiện với nhà điều hành. Đối với những trường hợp này, tốt hơn nên xem xét toán tử kết hợp nullish. 0 || Toán tử logic HOẶC hoạt động như thế nào trong JavaScript? Như đã đề cập, toán tử có hai chức năng chính trong JavaScript. Thông thường nhất, nó được tìm thấy trong các câu lệnh logic, trong đó nó trả về true nếu một hoặc nhiều toán hạng của nó là , nhưng nó cũng được sử dụng để trả về giá trị đầu tiên nếu nó hoặc mặc định ở phía bên phải toán hạng nếu không. || if..else truthy truthy Cái hoạt động theo cả hai cách này vì nó thực sự trả về một giá trị. || Sử dụng logic HOẶC với logic Có thể bạn sẽ thấy được sử dụng phổ biến nhất trong các câu lệnh logic như và . Trong những trường hợp này, chúng tôi thường kiểm tra một câu lệnh logic, vì vậy sẽ trả về nếu một hoặc nhiều toán hạng của nó là . || if else || true truthy Những gì đang xảy ra dưới đây là toán tử trả về một giá trị, sau đó câu lệnh sẽ chuyển đổi thành hoặc || if true false let x = 100; // This returns true, since both of these statements are correct. if(x > 5 || x > 10) { // ... } // Since both "1" and "2" can be converted to true, this also returns true in this context. if("1" || "2") { // ... } // Since both "" and null are falsy, they are converted to false, and as such this returns false. if("" || null) { // ... } Đây là một trong những cách chính bạn sẽ sử dụng trong mã của bạn, nhưng nó cũng thường được sử dụng để trả về các giá trị dựa trên mức độ trung thực hay chúng. || falsy truthy Trả lại giá trị Bây giờ chúng ta hãy xem xét một ví dụ khác, bên ngoài các câu lệnh logic. Như đã đề cập, trả về phía bên trái của nó nếu nó là sự , nhưng nếu không thì trả về phía bên phải của nó. || truthy Điều đó nghe có vẻ hơi khó hiểu, vì vậy chúng ta hãy xem xét một vài ví dụ. // Is set to 1, since the first operand is falsy let x = false || 1; // Is set to hello, since "hello" is truthy let y = "hello" || true; Trong ví dụ trên, vì có vế trái được đặt thành , nên trở thành 1. Tương tự, trong vì không phải là nên giá trị của là . Chức năng này khác với ứng dụng của nó trong các câu lệnh logic và câu lệnh , nhưng có thể hữu ích trong nhiều trường hợp. x false x y "hello" falsy y "hello" if..else Điều thú vị là ngay cả khi mục cuối cùng được đưa ra là , JavaScript vẫn sẽ trả lại nó. falsy Ví dụ: // Is set to null since false is falsy let x = false || null; // Is set to false since 0 is falsy let y = 0 || false; Chuỗi nhà điều hành HOẶC Có thể xâu chuỗi các toán tử trong JavaScript. Khi xâu chuỗi các câu lệnh logic (trong mệnh đề ), câu lệnh sẽ trả về true nếu bất kỳ mục nào trong chuỗi là : || if..else truthy // This works since both "1" and true are truthy if("1" || true || false) { // ... console.log('this works') } // This doesn't work since all values are falsy if(false || null || undefined) { console.log('this does not work'); } Khi chúng ta sử dụng được xâu chuỗi bên ngoài các câu lệnh logic, nó sẽ sử dụng giá trị đầu tiên được tìm thấy hoặc mặc định là giá trị cuối cùng. Ví dụ: bên dưới, bằng , và là . Nếu bạn đang thắc mắc tại sao lại là , thì đó là bởi vì bất cứ thứ gì không giả , đều là , có nghĩa là một đối tượng là ! || truthy x 3 y true z {} z {} falsy truthy truthy // x is set to 3 let x = false || 0 || 3; // y is set to true let y = false || true || 3; // z is set to {} let z = {} || [] || x; Sự kết luận Cái toán tử thường được sử dụng trong các câu lệnh lôgic, cũng như mặc định thành các giá trị không nếu tìm thấy một giá trị. Đó là một toán tử linh hoạt, cốt lõi để hiểu JavaScript. Nếu bạn quan tâm đến một toán tử khác, tương tự, bạn cũng có thể muốn đọc về . || falsy toán tử liên kết nullish