Trong JavaScript, chúng tôi có số kiểu dữ liệu cho phép chúng tôi lưu trữ các số như số nguyên và số dấu phẩy động và một khi giá trị đặc biệt được bao gồm trong một số là NaN. NaN là một thuộc tính của một đối tượng toàn cầu có nghĩa là nó luôn hiện diện trong phạm vi toàn cầu và NaN là viết tắt của not a number. Nếu chúng ta console log kiểu trong JavaScript chúng ta sẽ thấy kiểu dữ liệu số
bảng điều khiển. log[ loại NaN ];
Chúng ta cũng có thể kiểm tra xem một giá trị có phải là NaN hay không với sự trợ giúp của phương thức toàn cục isNaN[]
const = 10+0/0;
console.log[ isNaN [ đầu ra ]]; // true
Kiểm tra đẳng thức với NaN
Điều khá thú vị là khi NaN được so sánh với chính nó, nó sẽ trả về false. Chúng ta có thể thấy rằng NaN không bằng bất kỳ thuộc tính nào trong JavaScript
bảng điều khiển. log[ NaN ===NaN]; //false
Điều gì trả về NaN?
Bây giờ chúng ta đã biết NaN là gì, hãy cùng tìm hiểu xem thao tác nào trả về NaN
Nếu đầu ra của phép toán không phải là số thực thì nó trả về NaN chẳng hạn
bảng điều khiển. log[Toán . sqrt[-1]]; // NaN
Nếu bạn đang chuyển đổi một chuỗi thành một số thì NaN sẽ được trả về do đó, trong ngắn hạn, chúng ta có thể nói rằng việc phân tích cú pháp không thành công khi một người chuyển đổi một chuỗi thành một số
const myString = 'Xin chào. ';
const myNumber = . [myString];
console.log[ MyNumber ]; // NaN
Trong a+b, a và b là toán hạng và + là toán tử do đó khi bạn sử dụng undefined thay cho toán hạng và thực hiện một số thao tác thì NaN sẽ được trả về
bảng điều khiển. log[ không xác định + 3]; // NaN
Khi bạn sử dụng chuỗi làm toán hạng trong bất kỳ phép toán nào, nó cũng sẽ trả về NaN
bảng điều khiển. log[["myString"/3]]; // NaN
Khi bạn đưa ra các đối số không hợp lệ cho một hàm toán học, nó cũng sẽ trả về NaN chẳng hạn
bảng điều khiển. log[Toán . log2[-2] . ]; // NaN
console.log[Toán . sqrt[-2]]; // NaN
Sự kết luận
NaN là viết tắt của Not a Number và là thuộc tính của một đối tượng toàn cầu, có nghĩa là nó luôn có phạm vi toàn cầu. NaN được sử dụng để kiểm tra thao tác không thành công trên một số, ví dụ: phân tích cú pháp số, truyền đối số không hợp lệ cho hàm toán học, đầu ra của hàm toán học không phải là số thực, sử dụng undefined làm toán hạng và sử dụng chuỗi trong . Phương thức tích hợp isNan[] cung cấp cho chúng ta khả năng kiểm tra một giá trị để chúng ta có thể tìm hiểu xem đó có phải là NaN hay không bằng cách trả về một giá trị boolean tức là đúng hay sai. Trong bài đăng này, chúng ta đã thảo luận về NaN là gì, kiểm tra đẳng thức của NaN và điều gì trả về NaN trong JavaScript
Bản tóm tắt. trong hướng dẫn này, bạn sẽ tìm hiểu về JavasScript
2, cách kiểm tra xem một giá trị có phải làCode language: CSS [css]
global.NaN
2 hay không và cách xử lýCode language: CSS [css]
global.NaN
2 một cách hiệu quảCode language: CSS [css]
global.NaN
Giới thiệu về JavaScript NaN
JavaScript có kiểu số cho phép bạn biểu diễn các số bao gồm cả số nguyên và số dấu phẩy động. Và số JavaScript có một giá trị đặc biệt được gọi là
2, viết tắt của Not-a–NumberCode language: CSS [css]
global.NaN
2 là thuộc tính của đối tượng toàn cầu. Đối tượng toàn cầu là đối tượngCode language: CSS [css]
global.NaN
7 trong trình duyệt webCode language: CSS [css]
global.NaN
window.NaN
Code language: JavaScript [javascript]
Và đối tượng toàn cầu trong Node. js
Code language: CSS [css]
global.NaN
2 có loạiCode language: CSS [css]
global.NaN
9 như trong đoạn mã sauCode language: CSS [css]
global.NaN
0Code language: CSS [css]
global.NaN
Kiểm tra xem giá trị có phải là NaN không
JavaScript cung cấp cho bạn hàm toàn cục
00 trả vềCode language: CSS [css]
global.NaN
01 nếu đối số của nó làCode language: CSS [css]
global.NaN
2Code language: CSS [css]
global.NaN
4Code language: CSS [css]
global.NaN
Ví dụ
5Code language: CSS [css]
global.NaN
Tại sao nên sử dụng NaN
JavaScript sử dụng
2 do thao tác không thành công trên các số bao gồmCode language: CSS [css]
global.NaN
- Phân tích số
- Sử dụng
04 làm toán hạng
Code language: CSS [css]global.NaN
- Sử dụng
2 làm toán hạng
Code language: CSS [css]global.NaN
- Sử dụng các hình thức không xác định
- Truyền đối số không hợp lệ cho hàm toán học
Hoạt động trả về NaN
1] Phân tích số
Trong JavaScript, bạn có thể chuyển đổi một chuỗi số thành một số. Ví dụ
9Code language: CSS [css]
global.NaN
Nếu JavaScript không thể chuyển đổi một chuỗi thành một số, nó sẽ trả về
2. Trong trường hợp này,Code language: CSS [css]
global.NaN
2 chỉ ra rằng việc phân tích cú pháp đã thất bại. Ví dụCode language: CSS [css]
global.NaN
2Code language: CSS [css]
global.NaN
Bạn nên xác minh kết quả phân tích cú pháp bằng cách sử dụng hàm
08Code language: CSS [css]
global.NaN
4Code language: CSS [css]
global.NaN
Trong ví dụ này, quá trình phân tích cú pháp không thành công do đó nó trả về
2. Điều kiệnCode language: CSS [css]
global.NaN
40 là đúng để số được gán choCode language: CSS [css]
global.NaN
41Code language: CSS [css]
global.NaN
2] Sử dụng không xác định làm toán hạng
Một biểu thức sử dụng
42 làm toán hạng trả vềCode language: CSS [css]
global.NaN
2. Ví dụCode language: CSS [css]
global.NaN
0Code language: CSS [css]
global.NaN
Trong thực tế, bạn sẽ xử lý undefined khá thường xuyên. Ví dụ: khi bạn truy cập thuộc tính không tồn tại của phần tử HTML và sử dụng thuộc tính đó trong phép tính
Nên tránh sử dụng
42 trong tính toánCode language: CSS [css]
global.NaN
3] Sử dụng NaN làm toán hạng
Khi một biểu thức có NaN, nó luôn trả về NaN. Ví dụ
2Code language: CSS [css]
global.NaN
4] Sử dụng dạng không xác định
Khi một phép toán số học ở dạng không xác định, nó sẽ trả về NaN. Ví dụ
0Code language: CSS [css]
global.NaN
5] Sử dụng đối số không hợp lệ của hàm toán học
Khi một hàm toán học nhận được một đối số không hợp lệ, nó sẽ trả về NaN. Ví dụ
1Code language: CSS [css]
global.NaN
Trong ví dụ này,
45 trả về căn bậc hai của một số. Vì nó chỉ chấp nhận một số không âm, nên việc chuyển -1 dẫn đến ____02Code language: CSS [css]
global.NaN