Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> JavaScript

Cách kiểm tra giá trị bằng NaN trong JavaScript

Thuộc tính toàn cục NaN trong JavaScript đại diện cho giá trị "Không phải là Số" (Not-A-Number). Giá trị này được trả về khi:

  • Các hàm toán học thất bại (ví dụ: Math.sqrt(-500))
  • Phân tích chuỗi thành số thất bại (ví dụ: parseFloat("test"))

NaN không bằng bất kỳ giá trị nào, kể cả chính nó, khi so sánh bằng ==, !=, ===, hay !==.

Cách kiểm tra chính xác

Phải sử dụng phương thức Number.isNaN():

let a = Math.sqrt(-500);
console.log(Number.isNaN(a)); // true

Sự khác biệt giữa isNaN() và Number.isNaN()

  • isNaN(): Trả về true nếu giá trị hiện là NaN hoặc sẽ thành NaN sau khi ép kiểu sang số.
  • Number.isNaN(): Chỉ trả về true nếu giá trị hiện tại chính là NaN.
isNaN('hello world');       // true
Number.isNaN('hello world'); // false

Lưu ý: Luôn ưu tiên Number.isNaN() để tránh kết quả sai do ép kiểu ngầm.