Trung BìnhJavaScript iconJavaScript

NaN là gì? Tại sao NaN !== NaN?

NaN (Not a Number) là giá trị đặc biệt xuất hiện khi phép tính số học thất bại: parseInt('abc'), 0/0, Math.sqrt(-1).

Theo chuẩn IEEE 754, NaN không bằng bất kỳ giá trị nào kể cả chính nó — NaN === NaN là false. Dùng Number.isNaN(val) để kiểm tra chính xác (không dùng isNaN() vì hàm global này ép kiểu trước: isNaN('hello') trả về true). Bẫy: typeof NaN trả về 'number' — NaN vẫn là kiểu number, chỉ là giá trị không hợp lệ.

Xem toàn bộ JavaScript cùng filter theo level & chủ đề con.

Mở danh sách JavaScript