So sánh ==
và ===
trong Javascript?
So sánh ==
và ===
trong Javascript?
Trong JavaScript, việc hiểu rõ sự khác biệt giữa toán tử so sánh ==
(so sánh trừu tượng) và ===
(so sánh nghiêm ngặt) là rất quan trọng, vì nó ảnh hưởng đến cách giá trị được so sánh trong code của bạn.
==
)Toán tử ==
so sánh hai giá trị sau khi thực hiện chuyển đổi kiểu dữ liệu (nếu cần), để chúng có thể được so sánh một cách công bằng. Nếu hai giá trị không cùng kiểu, JavaScript sẽ cố gắng chuyển đổi chúng sang một kiểu chung trước khi so sánh. Ví dụ, khi so sánh một số với một chuỗi, chuỗi sẽ được chuyển đổi thành một số trước khi thực hiện so sánh
===
)Ngược lại, toán tử ===
thực hiện so sánh nghiêm ngặt, nghĩa là nó sẽ không thực hiện chuyển đổi kiểu dữ liệu giữa hai giá trị được so sánh. Điều này có nghĩa là nếu hai giá trị có kiểu dữ liệu khác nhau, toán tử ===
sẽ ngay lập tức trả về false
mà không cần xem xét giá trị cụ thể của chúng
Sử dụng ==
:
console.log(3 == "3"); // true, vì "3" được chuyển đổi thành số trước khi so sánh
console.log(true == '1'); // true, vì '1' được chuyển đổi thành true
Sử dụng ===
:
console.log(3 === "3"); // false, vì một bên là số và một bên là chuỗi
console.log(true === '1'); // false, vì một bên là boolean và một bên là chuỗi
Nên sử dụng ===
(so sánh nghiêm ngặt) thay vì ==
(so sánh trừu tượng) trong hầu hết các trường hợp để tránh những kết quả không mong muốn do chuyển đổi kiểu dữ liệu tự động. Sử dụng ===
giúp code của bạn trở nên dễ đọc và dễ hiểu hơn, đồng thời giảm thiểu nguy cơ gặp phải lỗi logic do chuyển đổi kiểu dữ liệu không rõ ràng
Tóm lại, ==
và ===
đều là toán tử so sánh trong JavaScript nhưng hoạt động theo hai cách khác nhau. ==
sẽ chuyển đổi kiểu dữ liệu trước khi so sánh, trong khi ===
yêu cầu cả kiểu dữ liệu và giá trị phải giống nhau. Để viết code chính xác và dễ bảo trì, bạn nên sử dụng ===
trừ khi có một lý do chính đáng để sử dụng ==
.
entry
Gợi ý câu hỏi phỏng vấn
Chưa có bình luận nào