+3

So sánh toán tử "==" và "===" trong JavaScript khác nhau như thế nào? Sử dụng chúng trong trường hợp nào?

Toán tử so sánh bằng "==" trong rất quen thuộc đối với lập trình viên. Trong Javascript xuất hiện thêm "===". Vậy chúng giống và khác nhau ở điểm gì? Bài viết này mình sẽ chia sẻ cho ae tất tần tật nhé!

Toán tử "=="

Toán tử "==" dùng để kiểm tra xem giá trị của 2 phần tử có bằng nhau không, nhưng nó chỉ so sánh về mặt giá trị chứ không quan tâm đến kiểu dữ liệu Ví dụ:

10==10 // true
10=="10" // true
"javascript"=="javasctipt" // true
Trong một số trường hợp đặc biệt khác khi sử dụng "==": + 0 có kiểu dữ liệu là số nhưng khi được so sánh với boolean sẽ bị ép về kiểu boolean có giá trị là false:
0 == false //true
0 == true //false
+ 1 có kiểu dữ liệu là số nhưng khi được so sánh với boolean sẽ bị ép về kiểu boolean có giá trị là true:
1 == true //true
1 == false //false
+ "" có kiểu dữ liệu là string nhưng khi được so sánh với boolean sẽ bị ép về kiểu boolean có giá trị là false:
'"" == true //false
'"" == false //true

Toán tử "==="

Toán tử "===" cũng có điểm giống với "==" đó là cũng so sánh về mặt giá trị, nhưng điểm khác là "===" so sánh cả về kiểu dữ liệu Ví dụ:

10===10 // true
nhưng
10==="10" // false
vì 10 có kiểu dữ liệu là number, còn "10" có kiểu dữ liệu là string

Kết luận

Như vậy qua bài viết trên, mình đã chia sẻ về sự giống và khác nhau giữa "==" và "===". Trong trường hợp toán tử chỉ quan tâm đến mặt giá trị thì chúng ta sử dụng "==", còn khi có những điều kiện khắt khe hơn về kiểu dữu liệu thì chúng ta sử dụng "===". Trong mỗi bài toán thực tế chúng ta sẽ gặp rất nhiều trường hợp, hãy sử dụng "==" hoặc "===" một cách hiệu quả nhất để phù hợp với yêu cầu. Cảm ơn ae đã đọc bài viết này của mình, thấy hay thì giúp mình 1 upvote nhé. 😍😍


All rights reserved

Viblo
Hãy đăng ký một tài khoản Viblo để nhận được nhiều bài viết thú vị hơn.
Đăng kí