Nếu bạn không chắc sự khác biệt giữa == và === trong JavaScript, bạn không đơn độc. Rất nhiều người phải vật lộn với việc bạn nên sử dụng toán tử JavaScript nào trong số hai toán tử JavaScript này, vì vậy đừng cảm thấy tệ khi bạn không biết sự khác biệt. Điều đầu tiên, chúng ta cần hiểu toán tử là gì, cũng như cách chúng hoạt động trong JavaScript.
Chính xác thì “==” làm gì?
Trong JavaScript, toán tử “==” là một toán tử so sánh. Điều này có nghĩa là bạn có thể thực hiện các bài kiểm tra logic để xem liệu một thứ có bằng với thứ khác hay không. Kết quả sẽ luôn trả về true hoặc false.
Với “==”, JavaScript không quan tâm đến kiểu dữ liệu (chuỗi hoặc số nguyên) bạn chuyển cho nó, miễn là nội dung bạn cung cấp phù hợp với nó.
“55” == “55”
true
55 == 55
true
“55” == 55
true
“===” khác với “==” như thế nào?
Toán tử “===” so sánh cả nội dung và loại , trong khi “==” chỉ so sánh nội dung. JavaScript đếm bất kỳ thứ gì nằm giữa hai dấu ngoặc kép dưới dạng một chuỗi . Trước đó, tôi đã đề cập rằng chúng ta sẽ sử dụng các số “55” và 55, ngoại trừ, “55” không phải là số nguyên, nó là một chuỗi, trong khi 55 là số nguyên vì nó không được đóng gói bằng dấu ngoặc kép.
“55” === “55”
true
55 === 55
true
“55” === 55
false
Ví dụ: điều này có nghĩa là nếu bạn có các số 55 và “55” và thử so sánh chúng với toán tử “===”, nó sẽ không chỉ so sánh nội dung của hai dữ liệu hoặc biến bạn chuyển cho nó, nó còn so sánh biến typeof hoặc dữ liệu của nó. Trong trường hợp này, nó sẽ trả về false, vì một chuỗi không cùng kiểu dữ liệu với một số nguyên.
Làm cách nào để tôi có thể tự mình so sánh == so với ===?
Trả lời: Tìm hiểu Công cụ dành cho nhà phát triển của Chrome ! DevTools (còn được gọi là Web Inspector) là người bạn tốt nhất của nhà phát triển web. Chúng cho phép bạn chỉnh sửa bất kỳ trang web nào tại địa phương trong thời gian thực. Và họ cho phép bạn sử dụng tính năng bảng điều khiển của họ để thực hiện các bài kiểm tra logic, viết các chức năng đơn giản và hơn thế nữa. Hãy xem Hướng dẫn dành cho DevTools của Chrome này nếu bạn muốn tìm hiểu thêm.
Cách tốt nhất để kiểm tra == so với === trong JavaScript
- Mở DevTools bằng cách nhấn phím Command + Shift + I (Mac) hoặc bằng cách nhấp chuột phải vào bất kỳ đâu trên màn hình và chọn “Kiểm tra”.
- Nhấp vào tab “bảng điều khiển”. Từ đó, bạn sẽ có thể thực hiện các bài kiểm tra logic bằng JavaScript. Nhập “55” === 55 và bạn sẽ thấy nó trả về false . Tuy nhiên, khi bạn vượt qua “55” == 55 , kết quả là true.
Bạn thậm chí có thể kiểm tra JavaScript của mình chỉ bằng cách sử dụng các biến! Chỉ cần xóa bảng điều khiển của bạn bằng cách nhấp chuột phải, sau đó nhấn “Xóa bảng điều khiển”, sau đó dùng thử!
Còn về toán tử! = Và! ==?
Bạn cũng có thể so sánh nếu một cái gì đó là “! =” (Không bằng) cái gì đó khác và nếu cái gì đó là “! ==” (hoàn toàn không bằng) cái gì đó khác.
Khi kiểm tra nếu “55”! == 55 với toán tử! ==, câu trả lời trả về sẽ đúng vì chuỗi “55” không hoàn toàn bằng số nguyên 55.
Hãy nhớ làm rối tung bảng điều khiển bằng cách sử dụng các loại dữ liệu khác nhau cho đến khi bạn hiểu nó thành khoa học, nếu bạn vẫn còn nhầm lẫn thì hãy chắc chắn xem trang Các toán tử so sánh của Mozilla để tìm hiểu chi tiết hơn. Sau đó, khi bạn đã sẵn sàng, hãy đưa siêu năng lực JavaScript mới học được của bạn tham gia các cuộc đua trong Trò chơi Bảng bình đẳng JavaScript !
Lời kết
Cảm ơn bạn đã dành thời gian đọc một chút về toán tử và toán hạng trong JavaScript. Nếu bạn là người mới bắt đầu hoặc người đã biết một số kiến thức cơ bản và muốn tìm hiểu thêm về ngôn ngữ JavaScript, hãy nhớ xem Khóa học Java fullstack trong bốn tháng .