Cách kiểm tra một số có phải là NaN hay không trong JavaScript

Trong bài viết này, cùng mình tìm hiểu xem các cách mà có thể sử dụng để kiểm tra một số có phải là NaN trong JavaScript hay không.

Sử dụng hàm isNaN để kiểm tra một số có phải là NaN hay không?

Bạn có thể sử dụng hàm isNaN để kiểm tra một số có phải là NaN không.

Ví dụ, bạn có thể viết:

const nan = isNaN(parseFloat("abc"))
console.log(nan)Code language: JavaScript (javascript)

isNaN sẽ cố gắng phân tích cú pháp đối số mà tôi truyền vào nó tự động thành một số.

Nhưng để an toàn, bạn có thể tự phân tích cú pháp parseFloat trước để đảm bảo rằng mình có được kết quả như mong đợi.

Bạn cần parseFloat và nó trả về NaN vì bạn đã truyền một chuỗi không phải số vào nó.

Vì vậy, isNaN nên trở về NaN.

Do đó, nan là true.

Kiểm tra xem một giá trị có bằng chính nó hay không

Vì NaN là giá trị duy nhất trong JavaScript không bằng chính nó, bạn có thể kiểm tra xem một biến có bằng chính nó hay không để kiểm tra một số hay giá trị của biến đó có phải là NaN không.

Ví dụ, bạn có thể viết:

const nan = NaN
console.log(nan !== nan)Code language: JavaScript (javascript)

Sau đó, nhật ký bảng điều khiển sẽ hiển thị true vì bản thân NaN nó không bằng.

Nếu nan có bất kỳ giá trị nào khác, nhật ký giao diện điều khiển sẽ ghi lại false.

Vì vậy, nếu bạn có:

const nan = true 
console.log (nan! == nan)Code language: JavaScript (javascript)

Sau đó, nhật ký giao diện điều khiển sẽ hiển thị false.

The Number.isNaN Method

Phương thức Number.isNaN này là một phương thức khác cho phép tôi kiểm tra xem giá trị mà tôi truyền vào nó có phải là giá trị hay không NaN.

Sự khác biệt giữa isNaN và Number.isNaN là Number.isNaN không cố gắng chuyển đổi một giá trị thành một số trước khi nó được kiểm tra.

Ví dụ, bạn có thể viết như sau:

const nan = Number.isNaN('abc');
console.log(nan)Code language: JavaScript (javascript)

Sau đó, nhật ký bảng điều khiển hiển thị false vì tôi không đăng nhập NaN.

Tôi đã vượt qua một cái gì đó không phải là một con số.

Nhưng nếu bạn viết như này:

const nan = Number.isNaN(NaN);
console.log(nan)Code language: JavaScript (javascript)

Sau đó nan là true.

Object.is phương pháp khác mà bạn có thể sử dụng để kiểm tra một số là NaN

Một phương pháp khác mà bạn có thể sử dụng để kiểm tra NaN là phương pháp Object.is.

Object.is nhận 2 đối số với các giá trị mà bạn muốn so sánh.

Nếu cả hai giá trị đều là NaN, thì nó trả về true thay vì false như bạn có với ===.

Ví dụ, mình có thể viết:

const a = NaN
const nan = Object.is(a, NaN);
console.log(nan)Code language: JavaScript (javascript)

Sau đó nan là true theo nhật ký giao diện điều khiển.

Kết luận

Tôi có thể kiểm tra NaN bằng các chức năng và phương pháp khác nhau do JavaScript cung cấp.

Ngoài ra, bạn có thể sử dụng toán tử === để kiểm tra xem một giá trị có không bằng chính nó hay không.

Nếu không, thì bạn biết giá trị phải là NaN vì NaN là giá trị duy nhất không bằng chính nó trong JavaScript.

Cảm ơn bạn đã theo dõi bài viết!

Các bạn có thể tham khảo các bài viết hay về JavaScript tại đây.


Hãy tham gia nhóm Học lập trình để thảo luận thêm về các vấn đề cùng quan tâm.

TỔNG HỢP TÀI LIỆU HỌC LẬP TRÌNH CƠ BẢN CHO NGƯỜI MỚI BẮT ĐẦU

KHOÁ HỌC BOOTCAMP JAVA/JAVASCRIPT/PHP TRỞ THÀNH LẬP TRÌNH VIÊN TRONG 5-6 THÁNG

Leave a Reply

Your email address will not be published. Required fields are marked *