paint-brush
Toán tử logic HOẶC JavaScript: Nó hoạt động như thế nào?từ tác giả@smpnjn
508 lượt đọc
508 lượt đọc

Toán tử logic HOẶC JavaScript: Nó hoạt động như thế nào?

từ tác giả Johnny Simpson4m2022/07/12
Read on Terminal Reader
Read this story w/o Javascript

dài quá đọc không nổi

Cái || toán tử thường được sử dụng trong các câu lệnh logic, cũng như mặc định cho các giá trị không phải là sai nếu tìm thấy một. Đó 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ề toán tử liên kết nullish.

Coin Mentioned

Mention Thumbnail
featured image - Toán tử logic HOẶC JavaScript: Nó hoạt động như thế nào?
Johnny Simpson HackerNoon profile picture

Toán tử OR (hoặc || ) logic trong JavaScript là một toán tử trả về phía bên trái nếu phía bên trái là trung thực , nhưng nếu không thì mặc định và trả về phía bên phải.


Đ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 falsy 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à falsy trong JavaScript:

  • false
  • 0 hoặc -0 hoặc 0n
  • any chuỗi trống nào, tức là ""
  • null
  • undefined
  • NaN


Tương tự, truthy đơn giản có nghĩa là bất cứ điều gì không phải là giả falsy .


falsy có thể có nghĩa là 0"" , đôi khi nó có thể là một lựa chọn tồi để đặt các giá trị mặc định.


Ví dụ: trong một số trường hợp, nếu giá trị của bạn thực sự là 0 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.

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 if..else logic, trong đó nó trả về true nếu một hoặc nhiều toán hạng của nó là truthy , nhưng nó cũng được sử dụng để trả về giá trị đầu tiên nếu nó truthy hoặc mặc định ở phía bên phải toán hạng nếu không.


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ư ifelse . 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ề true nếu một hoặc nhiều toán hạng của nó là 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 if sẽ chuyển đổi thành true hoặc 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 falsy truthy chúng.

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ự truthy , nhưng nếu không thì trả về phía bên phải của nó.


Đ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ì x có vế trái được đặt thành false , nên x trở thành 1. Tương tự, trong y"hello" không phải là falsy nên giá trị của y"hello" . 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 if..else , nhưng có thể hữu ích trong nhiều trường hợp.

Điều thú vị là ngay cả khi mục cuối cùng được đưa ra là falsy , JavaScript vẫn sẽ trả lại nó.


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 đề if..else ), câu lệnh sẽ trả về true nếu bất kỳ mục nào trong chuỗi là 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ị truthy đầ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, x bằng 3 , y truez{} . Nếu bạn đang thắc mắc tại sao z lại là {} , thì đó là bởi vì bất cứ thứ gì không giả falsy , đều là truthy , có nghĩa là một đối tượng là 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 falsy 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ề toán tử liên kết nullish .