NỘI DUNG BÀI VIẾT
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