Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> JavaScript

So sánh lỏng lẻo (Loose equality) trong JavaScript


Toán tử so sánh lỏng lẻo == cho phép so sánh hai toán hạng bằng cách chuyển đổi giá trị về kiểu chung trước rồi mới kiểm tra sự bằng nhau.

Ví dụ

<!DOCTYPE html> <html lang="vi"> <head> <meta charset="UTF-8" /> <meta name="viewport" content="width=device-width, initial-scale=1.0" /> <title>Loose equality</title> <style> body { font-family: "Segoe UI", Tahoma, Geneva, Verdana, sans-serif; } .result { font-size: 20px; font-weight: 500; color: blueviolet; } </style> </head> <body> <h1>So sánh lỏng lẻo trong JavaScript</h1> <div class="result"></div> <br /> <button class="Btn">NHẤN VÀO ĐÂY</button> <h3>Nhấn nút để xem các so sánh bằng loose equality</h3> <script> let resEle = document.querySelector(".result"); let BtnEle = document.querySelector(".Btn"); BtnEle.addEventListener("click", () => { resEle.innerHTML = "Theo loose equality <br>"; if (1 == "1") { resEle.innerHTML += "1 bằng '1'<br>"; } if (undefined == null) { resEle.innerHTML += "undefined bằng null <br>"; } }); </script> </body> </html>

Kết quả

Khi nhấn nút, hiển thị:

  • 1 bằng '1'
  • undefined bằng null

JavaScript thực hiện type coercion (ép kiểu ngầm) trước khi so sánh: số 1 chuyển thành chuỗi "1", và undefined với null được coi là bằng nhau theo quy tắc đặc biệt.