Làm cách nào để hiển thị NaN trong JavaScript?

Trong hướng dẫn này, chúng ta sẽ học cách kiểm tra xem biến có phải là NaN trong JavaScript không. Dạng đầy đủ của NaN là 'không phải là số'. NaN là từ khóa dành riêng trong JavaScript mà chúng ta có thể gán cho biến

Nếu người dùng đang sử dụng phương pháp dưới đây để kiểm tra xem một biến có phải là số hay không, nó sẽ không hoạt động

var a = "Hello";
let result = a == NaN; // it always returns false.

Như chúng ta đã nói rằng phương pháp trên sẽ không hoạt động để kiểm tra một số vì NaN là từ khóa dành riêng. Vì vậy, nó không thể bằng giá trị của bất kỳ biến nào. Mặc dù NaN cũng không bằng chính nó nếu chúng ta sử dụng nó sau khi gán giá trị của nó cho biến

Sử dụng Phương thức isNaN[]

Trong JavaScript, phương thức isNaN[] rất hữu ích để kiểm tra xem biến có thuộc loại nào khác ngoài kiểu dữ liệu số hay không. Nó nhận một biến làm tham số và trả về giá trị false nếu biến đó là một số. Mặt khác, nó trả về một giá trị Boolean thực sự

Người dùng có thể làm theo cú pháp dưới đây để kiểm tra xem một biến có phải là NaN hay không bằng cách sử dụng phương thức isNaN[]

cú pháp

let number = 10;
let result = isNaN[number];

Thông số

  • số - nó nhận bất kỳ biến nào làm tham số và trả về giá trị Boolean tùy theo biến có phải là NaN hay không

Thí dụ

Trong ví dụ dưới đây, chúng tôi đã sử dụng phương thức isNaN để kiểm tra NaN. Chúng tôi đã lấy các giá trị khác nhau để quan sát đầu ra của phương thức isNaN[]

Check if a variable is NaN in JavaScript.

output of isNaN[] method for different values.

Ở kết quả trên, người dùng có thể thấy rằng phương thức isNaN[] trả về false đối với các giá trị số và true đối với các giá trị không phải số. Giá trị Boolean 'true' cũng là 1, vì vậy nó là một số. Hơn nữa, giá trị của ‘’ là 0, vì vậy phương thức isNaN[] trả về false cho giá trị đó

Sử dụng số. phương thức isNaN[]

Con số. isNaN[] khá giống với phương thức isNaN[] trong JavaScript nhưng cả hai đều có một sự khác biệt nhỏ. Phương thức isNaN[] kiểm tra tất cả các loại biến cho dù một biến có phải là NaN hay không. Con số. Phương thức isNaN[] chỉ kiểm tra kiểu số của biến. Điều đó có nghĩa là nếu chúng ta chuyển các biến thuộc bất kỳ loại dữ liệu nào khác thay vì số, thì nó luôn trả về giá trị sai

Thực hiện theo cú pháp dưới đây để sử dụng Số. isNaN[] để kiểm tra NaN

cú pháp

let number = 10;
let result = Number.isNaN[ number ]; // returns false for all non-numeric values

Thí dụ

Trong ví dụ dưới đây, chúng tôi đã sử dụng Số. phương thức isNaN[] để kiểm tra biến có phải là NaN hay không. Chúng tôi đã lấy cùng một giá trị như chúng tôi có trong ví dụ trên. Chúng ta sẽ quan sát sự khác biệt giữa đầu ra của isNaN[] và Number. phương thức isNaN[]

Check if a variable is NaN in JavaScript.

output of Number.isNaN[] method for different values.

Trong đầu ra ở trên, người dùng có thể thấy rằng đối với giá trị chuỗi “TutorialsPoint”. Nó được thay đổi thành sai. Vì chúng ta đã chuyển các giá trị không phải là số dưới dạng tham số của Số. phương thức isNaN[] trả về false

Chúng ta đã học cách kiểm tra xem một biến có phải là NaN hay không. Cách tiếp cận đầu tiên là cách tiếp cận tiêu chuẩn để kiểm tra NaN. Phương pháp thứ hai không được dùng trong một số trình duyệt. Nên sử dụng phương thức isNaN[] vì nó hoạt động với tất cả các loại biến

Hằng số không được trích dẫn NaN là một giá trị đặc biệt đại diện cho Not-a-Number. Vì NaN luôn so sánh không bằng với bất kỳ số nào, bao gồm cả NaN, nên nó thường được sử dụng để biểu thị tình trạng lỗi cho một hàm sẽ trả về một số hợp lệ

Lưu ý - Sử dụng hàm toàn cục isNaN[] để xem giá trị có phải là giá trị NaN không

cú pháp

Cú pháp sử dụng NaN là -

var val = Number.NaN;

Thí dụ

Hãy thử ví dụ sau để học cách sử dụng NaN

         
            
   
   
   
      

Click the following to see the result:

đầu ra

javascript_number_object. htm

Bạn sẽ tìm hiểu về JavaScript NaN trong hướng dẫn này, cách kiểm tra xem một giá trị có phải là NaN hay không và cách xử lý hiệu quả NaN

NaN trong Javascript là gì?

NaN, trong JavaScript, có thể là nhiều thứ. Trên thực tế, nó có thể là hầu hết mọi thứ, miễn là nó không phải là một con số. Loại của nó về mặt kỹ thuật là "số" [khi được đánh giá bằng "typeof"], mặc dù nó là viết tắt của Not a Number

Các giá trị trong NaN Javascript

Các giá trị có thể trở thành NaN thông qua nhiều phương tiện khác nhau, thường liên quan đến các phép tính toán sai [chẳng hạn như 0/0] hoặc do ép buộc kiểu, ngầm định hoặc rõ ràng

Một ví dụ phổ biến là khi bạn chạy parseInt trên một chuỗi bắt đầu bằng một ký tự chữ cái. Điều này không dành riêng cho parseInt, vì nó cũng áp dụng khi sử dụng cưỡng chế rõ ràng với Number[] hoặc với toán tử “+” đơn nguyên

Làm cách nào để kiểm tra NaN trong Javascript?

Trước khi chọn phương pháp kiểm tra NaN, bạn không nên kiểm tra NaN như thế nào?

NaN là một giá trị kỳ lạ trong JavaScript, vì nó không bằng chính nó khi được so sánh với toán tử đẳng thức lỏng lẻo [==] hoặc đẳng thức nghiêm ngặt [===]. NaN là giá trị duy nhất trong toàn bộ ngôn ngữ hoạt động theo cách này liên quan đến so sánh

Ví dụ: nếu parseInt[“a”] trả về NaN, thì parseInt[“a”] === NaN sẽ trả về false. Điều này có vẻ lạ, nhưng nó hoàn toàn hợp lý sau khi nghĩ về NaN thực sự là gì

NaN không cho bạn biết thứ gì đó là gì, nó cho bạn biết nó không phải là gì

Hai chuỗi khác nhau này được chuyển đến parseInt[] đều sẽ trả về NaN

parseInt[“abc”] // NaN
parseInt[“def”] // NaN

Cả hai câu lệnh đều trả về NaN, nhưng chúng có thực sự giống nhau không?

Dưới đây là một số ví dụ về so sánh bất bình đẳng nghiêm ngặt, thể hiện sự không nhất quán của NaN

________số 8

Phương pháp 1. isNaN hoặc Số. làNaN

JavaScript có một phương thức tích hợp, được đặt tên thích hợp là “isNaN”, dùng để kiểm tra NaN. Có một chức năng mới hơn được gọi là Số. isNaN, được bao gồm trong thông số ES2015

Sự khác biệt giữa isNaN và Số. isNaN là isNaN buộc đối số thành một loại số. Để tránh những kết quả phức tạp và không mong muốn, người ta thường khuyên nên sử dụng Số mới hơn, mạnh mẽ hơn. isNaN để tránh các tác dụng phụ này

Số. isNaN không thực hiện bất kỳ chuyển đổi kiểu bắt buộc nào, do đó, nó chỉ trả về giá trị boolean dựa trên tham số

Dưới đây là một ví dụ về sự khác biệt giữa hai phương pháp

isNaN[undefined] // true
Number.isNaN[undefined] // false

isNaN, khi được thông qua không xác định, trả về true vì không xác định trở thành NaN sau khi ép số. Bạn có thể tự kiểm tra điều này bằng cách chạy Number[undefined]. Bạn sẽ thấy rằng nó trả về NaN

Số. isNaN, mặt khác, trả về false. Điều này là do không có sự ép buộc nào diễn ra và không xác định không phải là NaN, nó chỉ đơn giản là không xác định

Cũng cần lưu ý rằng Số. isNaN là một phương thức mới hơn [ES2015] trong JavaScript, vì vậy trình duyệt hỗ trợ Number. isNaN không ổn định như isNaN, đã có từ ES1 [1997]

Phương pháp 2. Mục tiêu. Là

let number = 10;
let result = isNaN[number];
1 là một phương thức JavaScript kiểm tra tính giống nhau. Nó thường thực hiện các đánh giá giống như toán tử đẳng thức nghiêm ngặt [===], mặc dù nó xử lý NaN khác với đẳng thức nghiêm ngặt

let number = 10;
let result = isNaN[number];
2 sẽ trả về false, trong khi 0 === -0 sẽ trả về true. So sánh 0 và -0 khác nhau, cũng như so sánh NaN. Khái niệm này được gọi là “Bình đẳng giá trị bằng không. ”

let number = 10;
let result = isNaN[number];
0

let number = 10;
let result = isNaN[number];
3 trên thực tế sẽ trả về true, trong khi chúng ta đã biết rằng NaN === NaN trả về false. Điều đó làm cho đây trở thành một cách hợp lệ khác để kiểm tra xem thứ gì đó không phải là số

Phần kết luận

Trong số các phương pháp kiểm tra NaN đã cho, phổ biến nhất là sử dụng hàm isNaN toàn cầu hoặc Số ES2015. phương thức isNaN. Mặc dù phương pháp #2 hợp lệ nhưng hầu hết mọi người thường sẽ sử dụng isNaN hoặc Number. isNaN, được tạo riêng để kiểm tra NaN

Là NaN hay == NaN?

NaN không bằng NaN . Truyện ngắn. Theo thông số kỹ thuật của IEEE 754, mọi thao tác được thực hiện trên các giá trị NaN sẽ mang lại giá trị sai hoặc sẽ gây ra lỗi. Cảm ơn CJ J đã chia sẻ điều này.

Tại sao JavaScript hiển thị NaN?

Trong JavaScript, NaN là viết tắt của Not a Number. Nó đại diện cho một giá trị không phải là số hợp lệ . Nó có thể được sử dụng để kiểm tra xem một số đã nhập là một số hợp lệ hay không phải là một số.

Làm cách nào để sử dụng hàm isNaN trong JavaScript?

isNaN[] là thuộc tính hàm của đối tượng toàn cầu. Đối với các giá trị số, isNaN[] kiểm tra xem số đó có phải là giá trị NaN không. Khi đối số của hàm isNaN[] không thuộc loại Số, giá trị đầu tiên được ép buộc thành một số và giá trị kết quả sau đó được so sánh với NaN .

NaN[] có được sử dụng để kiểm tra NaN không?

Hàm nan[] trong Ngôn ngữ R được sử dụng để kiểm tra xem vectơ có chứa bất kỳ giá trị NaN[Không phải là Số] nào dưới dạng phần tử hay không . Nó trả về một giá trị boolean cho tất cả các phần tử của vectơ.

Chủ Đề