Published on

Javascript Ối dồi ôi

Authors

Giới thiệu

Không biết các bạn code JS thấy sao, chứ mình thấy nó tuyệt vời nhưng mà nó Ngáo... vì nó làm mình lú biết bao lần. Dưới đây là một số mình chứng cho điều đó.

Vài ví dụ

[] == ![] //-> true

Cái này gọi là gì nhỉ??? Mảng bằng phủ định của mảng, mảng không phải là mảng ^^ true.

💡Giải thích:

Thực ra là chỗ này do ta sài toán tử "==" chứ không phải "===". Nếu sử dụng "===" thì kết quả sẽ là false. Vậy thì "==" tại sao lại trả về true. Đó là vì JS sẽ ép kiểu ở cả hai vế về cùng một dạng đó là "numbers" để so sánh được. Hãy xem đoạn code dưới đây bạn sẽ hiểu:

Number([]) //-> 0
![] // -> false
Number(false) // -> 0

==> ([] == ![]) tương đương 0 == 0 // -> true