Toán tử nào dùng để so sánh 2 biến trong javascript?

Bây giờ, mối quan tâm chính của chúng ta là tìm hiểu sự khác biệt giữa các toán tử '==' và '===' mà javascript cung cấp, mặc dù chúng trông giống nhau nhưng chúng rất khác nhau

  • Toán tử JavaScript '=='. Trong Javascript, toán tử ‘==’ còn được gọi là toán tử đẳng thức lỏng lẻo, chủ yếu được sử dụng để so sánh hai giá trị ở cả hai phía rồi trả về true hoặc false. Toán tử này chỉ kiểm tra đẳng thức sau khi chuyển đổi cả hai giá trị thành một loại chung i. e loại cưỡng chế

Ghi chú. Ép buộc loại có nghĩa là hai giá trị chỉ được so sánh sau khi cố gắng chuyển đổi chúng thành cùng một loại. Hãy xem xét tất cả các giá trị trong đó toán tử '==' sẽ trả về true

Giá trị Boolean của chữ trong quá trình so sánh

Thật

  • '0'
  • 'false' // false được gói trong chuỗi
  • []
  • {}
  • hàm số(){}

Sai

  • ” hoặc “” // chuỗi rỗng
  • sai
  • 0
  • vô giá trị
  • chưa xác định
  • NaN // không phải là số

ví dụ 1.  

jav




đầu ra. Trong đoạn mã trên, khi chúng ta so sánh 21 với '21', javascript sẽ chuyển đổi '21' thành giá trị số là 21 và do đó chúng ta nhận được giá trị true, điều tương tự cũng xảy ra khi chúng ta cố kiểm tra xem 'true == 1' .  

Trường hợp của (null == undefined) là đặc biệt vì khi chúng ta so sánh các giá trị này, chúng ta nhận được true. Cả null và undefined đều là giá trị sai và chúng đại diện cho giá trị 'trống' hoặc không xác định trong js, do đó phép so sánh với toán tử '==' trả về true

true
true
true
true
true
true

Bây giờ, hãy xem xét tất cả các giá trị mà toán tử '==' sẽ trả về false

ví dụ 2. Trong mã này khi chúng ta so sánh null với false, chúng ta nhận được false, vì null là kiểu dữ liệu nguyên thủy nên nó không bao giờ có thể bằng giá trị boolean, mặc dù chúng thuộc cùng một nhóm false

jav




đầu ra

false
false
false
false

Toán tử JavaScript '==='. Còn được gọi là toán tử đẳng thức nghiêm ngặt, nó so sánh cả giá trị và loại, đó là lý do tại sao có tên là "bình đẳng nghiêm ngặt"

ví dụ 1. Hãy xem một số mã trong đó toán tử '===' sẽ trả về true

jav




false
false
false
1

        4

    

false
false
false
false
4_______56_______7     8    7
false
false
false
false
2

    

false
false
false
false
4_______9_______1     8
true
true
true
1
false
false
false
false
2

    // '==' operator8

false
false
false
1

đầu ra

true
true
true

ví dụ 2. Chỉ cần kiểm tra các loại và giá trị ở cả hai bên và sau đó chỉ cần in ra giá trị boolean đúng hoặc sai. Một số ví dụ mà nó sẽ trả về false

jav