Ngoài ra có 2 giá trị số đặc biệt.
0 [một số lớn hơn bất kỳ số nào khác] vàjavascript
typeof NaN; // => 'number'
typeof window.NaN; // => 'number'
typeof Number.NaN; // => 'number'
1 [đại diện cho khái niệm "Không phải là số"]javascript
typeof NaN; // => 'number'
typeof window.NaN; // => 'number'
typeof Number.NaN; // => 'number'
javascript
const infinite = Infinity;
const faulty = NaN;
typeof infinite; // => 'number'
typeof faulty; // => 'number'
Mặc dù hiếm khi làm việc trực tiếp với
1, nhưng nó có thể xuất hiện một cách đáng ngạc nhiên sau một thao tác không thành công trên các sốjavascript
typeof NaN; // => 'number'
typeof window.NaN; // => 'number'
typeof Number.NaN; // => 'number'
Hãy xem xét kỹ hơn giá trị đặc biệt của
1. cách kiểm tra xem một biến cójavascript
typeof NaN; // => 'number'
typeof window.NaN; // => 'number'
typeof Number.NaN; // => 'number'
1 hay không và quan trọng là hiểu các tình huống tạo ra giá trị "Không phải là số"javascript
typeof NaN; // => 'number'
typeof window.NaN; // => 'number'
typeof Number.NaN; // => 'number'
1. số NaN
Loại số trong JavaScript là một tập hợp tất cả các giá trị số, bao gồm "Không phải là số", vô cực dương và vô cực âm
Có thể truy cập "Không phải là số" bằng cách sử dụng biểu thức đặc biệt
1 hoặc dưới dạng thuộc tính của đối tượng toàn cục hoặc hàmjavascript
typeof NaN; // => 'number'
typeof window.NaN; // => 'number'
typeof Number.NaN; // => 'number'
6javascript
typeof NaN; // => 'number'
typeof window.NaN; // => 'number'
typeof Number.NaN; // => 'number'
javascript
typeof NaN; // => 'number'
typeof window.NaN; // => 'number'
typeof Number.NaN; // => 'number'
"Không phải là số" là một giá trị không đại diện cho số thực, mặc dù có kiểu số.
1 rất hữu ích để biểu thị các hoạt động bị lỗi trên các sốjavascript
typeof NaN; // => 'number'
typeof window.NaN; // => 'number'
typeof Number.NaN; // => 'number'
Ví dụ: nhân một số với
8 không phải là một phép toán hợp lệ, do đó kết quả làjavascript
typeof NaN; // => 'number'
typeof window.NaN; // => 'number'
typeof Number.NaN; // => 'number'
1javascript
typeof NaN; // => 'number'
typeof window.NaN; // => 'number'
typeof Number.NaN; // => 'number'
javascript
1 * undefined; // => NaN
Ngoài ra, cố gắng phân tích một chuỗi số không hợp lệ như
0 cũng dẫn đến kết quả làjavascript
1 * undefined; // => NaN
1javascript
typeof NaN; // => 'number'
typeof window.NaN; // => 'number'
typeof Number.NaN; // => 'number'
javascript
parseInt['Joker', 10]; // => NaN
Phần này trình bày chi tiết về các hoạt động tạo ra
1javascript
typeof NaN; // => 'number'
typeof window.NaN; // => 'number'
typeof Number.NaN; // => 'number'
2. Kiểm tra sự bình đẳng với NaN
Tính chất thú vị của
1 là nó không bằng bất kỳ giá trị nào, ngay cả với chínhjavascript
typeof NaN; // => 'number'
typeof window.NaN; // => 'number'
typeof Number.NaN; // => 'number'
1javascript
typeof NaN; // => 'number'
typeof window.NaN; // => 'number'
typeof Number.NaN; // => 'number'
javascript
NaN === NaN; // => false
Hành vi này hữu ích để phát hiện xem một biến có phải là
1 hay khôngjavascript
typeof NaN; // => 'number'
typeof window.NaN; // => 'number'
typeof Number.NaN; // => 'number'
javascript
const someNumber = NaN;
if [someNumber !== someNumber] {
console.log['Is NaN'];
} else {
console.log['Is Not NaN'];
}
// logs "Is NaN"
Biểu thức
6 chỉ làjavascript
1 * undefined; // => NaN
7 nếujavascript
1 * undefined; // => NaN
8 làjavascript
1 * undefined; // => NaN
1. Do đó, đoạn mã trên ghi vào bảng điều khiểnjavascript
typeof NaN; // => 'number'
typeof window.NaN; // => 'number'
typeof Number.NaN; // => 'number'
0javascript
parseInt['Joker', 10]; // => NaN
JavaScript có các chức năng tích hợp để phát hiện
1.javascript
typeof NaN; // => 'number'
typeof window.NaN; // => 'number'
typeof Number.NaN; // => 'number'
2 vàjavascript
parseInt['Joker', 10]; // => NaN
3javascript
parseInt['Joker', 10]; // => NaN
javascript
isNaN[NaN]; // => true
isNaN[1]; // => false
Number.isNaN[NaN]; // => true
Number.isNaN[1]; // => false
Sự khác biệt giữa các hàm này là
3 không chuyển đổi đối số của nó thành một sốjavascript
parseInt['Joker', 10]; // => NaN
javascript
isNaN['Joker12']; // => true
Number.isNaN['Joker12']; // => false
5 chuyển đổi đối sốjavascript
parseInt['Joker', 10]; // => NaN
6 thành một số, đó làjavascript
parseInt['Joker', 10]; // => NaN
1. Do đó, hàm trả vềjavascript
typeof NaN; // => 'number'
typeof window.NaN; // => 'number'
typeof Number.NaN; // => 'number'
7javascript
1 * undefined; // => NaN
Ở phía bên kia,
9 kiểm tra mà không chuyển đổi nếu đối số làjavascript
parseInt['Joker', 10]; // => NaN
1. Hàm trả vềjavascript
typeof NaN; // => 'number'
typeof window.NaN; // => 'number'
typeof Number.NaN; // => 'number'
1 vìjavascript
NaN === NaN; // => false
6 không bằngjavascript
parseInt['Joker', 10]; // => NaN
1javascript
typeof NaN; // => 'number'
typeof window.NaN; // => 'number'
typeof Number.NaN; // => 'number'
3. Các hoạt động dẫn đến NaN
3. 1 Phân tích số
Trong JavaScript, bạn có thể chuyển đổi chuỗi số thành số
Ví dụ: bạn có thể dễ dàng chuyển đổi chuỗi
4 thành số floatjavascript
NaN === NaN; // => false
5javascript
NaN === NaN; // => false
javascript
const numberString = '1.5';
const number = parseFloat[numberString];
number; // => 1.5
Khi không thể chuyển đổi chuỗi thành số, hàm phân tích cú pháp trả về
1. chỉ ra rằng phân tích cú pháp đã thất bại. Dưới đây là một số ví dụjavascript
typeof NaN; // => 'number'
typeof window.NaN; // => 'number'
typeof Number.NaN; // => 'number'
0javascript
const infinite = Infinity;
const faulty = NaN;
typeof infinite; // => 'number'
typeof faulty; // => 'number'
Khi phân tích cú pháp số, bạn nên xác minh xem kết quả phân tích cú pháp có phải là
1 hay khôngjavascript
typeof NaN; // => 'number'
typeof window.NaN; // => 'number'
typeof Number.NaN; // => 'number'
1javascript
const infinite = Infinity;
const faulty = NaN;
typeof infinite; // => 'number'
typeof faulty; // => 'number'
Quá trình phân tích cú pháp của
8 không thành công, do đó,javascript
NaN === NaN; // => false
9 trả vềjavascript
NaN === NaN; // => false
1. Điều kiệnjavascript
typeof NaN; // => 'number'
typeof window.NaN; // => 'number'
typeof Number.NaN; // => 'number'
1 làjavascript
const someNumber = NaN;
if [someNumber !== someNumber] {
console.log['Is NaN'];
} else {
console.log['Is Not NaN'];
}
// logs "Is NaN"
7 vàjavascript
1 * undefined; // => NaN
3 được gán chojavascript
const someNumber = NaN;
if [someNumber !== someNumber] {
console.log['Is NaN'];
} else {
console.log['Is Not NaN'];
}
// logs "Is NaN"
4javascript
const someNumber = NaN;
if [someNumber !== someNumber] {
console.log['Is NaN'];
} else {
console.log['Is Not NaN'];
}
// logs "Is NaN"
3. 2 không được xác định là toán hạng
8 được sử dụng làm toán hạng trong các phép toán số học như cộng, nhân, v.v. kết quả làjavascript
typeof NaN; // => 'number'
typeof window.NaN; // => 'number'
typeof Number.NaN; // => 'number'
1javascript
typeof NaN; // => 'number'
typeof window.NaN; // => 'number'
typeof Number.NaN; // => 'number'
Ví dụ
2javascript
const infinite = Infinity;
const faulty = NaN;
typeof infinite; // => 'number'
typeof faulty; // => 'number'
7 là một hàm truy cập thuộc tínhjavascript
const someNumber = NaN;
if [someNumber !== someNumber] {
console.log['Is NaN'];
} else {
console.log['Is Not NaN'];
}
// logs "Is NaN"
8 từ một đối tượng kiểu. Khi gọijavascript
const someNumber = NaN;
if [someNumber !== someNumber] {
console.log['Is NaN'];
} else {
console.log['Is Not NaN'];
}
// logs "Is NaN"
9, kết quả làjavascript
const someNumber = NaN;
if [someNumber !== someNumber] {
console.log['Is NaN'];
} else {
console.log['Is Not NaN'];
}
// logs "Is NaN"
8 [thuộc tính ______21_______8 không tồn tại trong đối tượngjavascript
typeof NaN; // => 'number'
typeof window.NaN; // => 'number'
typeof Number.NaN; // => 'number'
2]javascript
isNaN[NaN]; // => true
isNaN[1]; // => false
Number.isNaN[NaN]; // => true
Number.isNaN[1]; // => false
3 được đánh giá làjavascript
isNaN[NaN]; // => true
isNaN[1]; // => false
Number.isNaN[NaN]; // => true
Number.isNaN[1]; // => false
4, kết quả làjavascript
isNaN[NaN]; // => true
isNaN[1]; // => false
Number.isNaN[NaN]; // => true
Number.isNaN[1]; // => false
1javascript
typeof NaN; // => 'number'
typeof window.NaN; // => 'number'
typeof Number.NaN; // => 'number'
"Không phải là số" được tạo khi một thuộc tính bị thiếu hoặc hàm trả về
8 được sử dụng làm giá trị trong các phép toán số họcjavascript
typeof NaN; // => 'number'
typeof window.NaN; // => 'number'
typeof Number.NaN; // => 'number'
Đảm bảo rằng
8 không đạt được các phép toán số học là một cách tiếp cận tốt để ngăn chặnjavascript
typeof NaN; // => 'number'
typeof window.NaN; // => 'number'
typeof Number.NaN; // => 'number'
1. Vui lòng kiểm tra "7 mẹo để xử lý không xác định trong JavaScript"javascript
typeof NaN; // => 'number'
typeof window.NaN; // => 'number'
typeof Number.NaN; // => 'number'
3. 3 NaN làm toán hạng
Giá trị
1 cũng được tạo khi một toán hạng trong các phép toán số học làjavascript
typeof NaN; // => 'number'
typeof window.NaN; // => 'number'
typeof Number.NaN; // => 'number'
1javascript
typeof NaN; // => 'number'
typeof window.NaN; // => 'number'
typeof Number.NaN; // => 'number'
3javascript
const infinite = Infinity;
const faulty = NaN;
typeof infinite; // => 'number'
typeof faulty; // => 'number'
1 trải khắp các phép tính số họcjavascript
typeof NaN; // => 'number'
typeof window.NaN; // => 'number'
typeof Number.NaN; // => 'number'
4javascript
const infinite = Infinity;
const faulty = NaN;
typeof infinite; // => 'number'
typeof faulty; // => 'number'
Các hoạt động trên biến
2 bị hỏng sau khi giá trịjavascript
isNaN['Joker12']; // => true
Number.isNaN['Joker12']; // => false
3 [cójavascript
isNaN['Joker12']; // => true
Number.isNaN['Joker12']; // => false
1] được thêm vàojavascript
typeof NaN; // => 'number'
typeof window.NaN; // => 'number'
typeof Number.NaN; // => 'number'
2javascript
isNaN['Joker12']; // => true
Number.isNaN['Joker12']; // => false
3. 4 dạng không xác định
1 giá trị được tạo khi các phép toán số học ở dạng không xác địnhjavascript
typeof NaN; // => 'number'
typeof window.NaN; // => 'number'
typeof Number.NaN; // => 'number'
Sự phân chia của
7 vàjavascript
isNaN['Joker12']; // => true
Number.isNaN['Joker12']; // => false
8javascript
isNaN['Joker12']; // => true
Number.isNaN['Joker12']; // => false
5javascript
const infinite = Infinity;
const faulty = NaN;
typeof infinite; // => 'number'
typeof faulty; // => 'number'
Phép nhân của
4 vàjavascript
const someNumber = NaN;
if [someNumber !== someNumber] {
console.log['Is NaN'];
} else {
console.log['Is Not NaN'];
}
// logs "Is NaN"
0javascript
typeof NaN; // => 'number'
typeof window.NaN; // => 'number'
typeof Number.NaN; // => 'number'
6javascript
const infinite = Infinity;
const faulty = NaN;
typeof infinite; // => 'number'
typeof faulty; // => 'number'
Bổ sung vô số các dấu hiệu khác nhau
7javascript
const infinite = Infinity;
const faulty = NaN;
typeof infinite; // => 'number'
typeof faulty; // => 'number'
3. 5 Đối số không hợp lệ của các hàm toán học
Căn bậc hai của số âm
8javascript
const infinite = Infinity;
const faulty = NaN;
typeof infinite; // => 'number'
typeof faulty; // => 'number'
Hoặc logarit của một số âm
9javascript
const infinite = Infinity;
const faulty = NaN;
typeof infinite; // => 'number'
typeof faulty; // => 'number'
4. Phần kết luận
Khái niệm "Không phải là số", được thể hiện bằng JavaScript với
1, rất hữu ích để biểu thị các thao tác bị lỗi trên các sốjavascript
typeof NaN; // => 'number'
typeof window.NaN; // => 'number'
typeof Number.NaN; // => 'number'
1 không bằng bất kỳ giá trị nào, ngay cả với chínhjavascript
typeof NaN; // => 'number'
typeof window.NaN; // => 'number'
typeof Number.NaN; // => 'number'
1. Cách khuyến nghị để kiểm tra xem một biến có chứajavascript
typeof NaN; // => 'number'
typeof window.NaN; // => 'number'
typeof Number.NaN; // => 'number'
1 hay không là sử dụngjavascript
typeof NaN; // => 'number'
typeof window.NaN; // => 'number'
typeof Number.NaN; // => 'number'
5javascript
const numberString = '1.5';
const number = parseFloat[numberString];
number; // => 1.5
Chuyển đổi chuỗi số thành số, khi không thành công, có thể dẫn đến "Không phải là số". Bạn nên kiểm tra xem
6,javascript
const numberString = '1.5';
const number = parseFloat[numberString];
number; // => 1.5
7 hoặcjavascript
const numberString = '1.5';
const number = parseFloat[numberString];
number; // => 1.5
8 không trả lạijavascript
const numberString = '1.5';
const number = parseFloat[numberString];
number; // => 1.5
1javascript
typeof NaN; // => 'number'
typeof window.NaN; // => 'number'
typeof Number.NaN; // => 'number'
8 hoặcjavascript
typeof NaN; // => 'number'
typeof window.NaN; // => 'number'
typeof Number.NaN; // => 'number'
1 như một toán hạng trong các phép tính số học thường cho kết quả làjavascript
typeof NaN; // => 'number'
typeof window.NaN; // => 'number'
typeof Number.NaN; // => 'number'
1. Xử lý đúngjavascript
typeof NaN; // => 'number'
typeof window.NaN; // => 'number'
typeof Number.NaN; // => 'number'
8 [cung cấp giá trị mặc định cho các thuộc tính bị thiếu] là một cách tiếp cận tốt để ngăn chặn tình trạng nàyjavascript
typeof NaN; // => 'number'
typeof window.NaN; // => 'number'
typeof Number.NaN; // => 'number'
Các dạng không xác định hoặc đối số không hợp lệ cho các hàm toán học cũng dẫn đến "Không phải là số". Nhưng những trường hợp này hiếm khi xảy ra
Đây là lời khuyên thực tế của tôi. "Có
1? Tìm kiếmjavascript
typeof NaN; // => 'number'
typeof window.NaN; // => 'number'
typeof Number.NaN; // => 'number'
8. "javascript
typeof NaN; // => 'number'
typeof window.NaN; // => 'number'
typeof Number.NaN; // => 'number'
Thích bài viết?
đề xuất cải tiến
Bài đăng chất lượng vào hộp thư đến của bạn
Tôi thường xuyên xuất bản bài viết có chứa
- Các khái niệm JavaScript quan trọng được giải thích bằng các từ đơn giản
- Tổng quan về các tính năng JavaScript mới
- Cách sử dụng TypeScript và cách gõ
- Thiết kế phần mềm và thực hành mã hóa tốt
Đăng ký nhận bản tin của tôi để nhận chúng ngay trong hộp thư đến của bạn
Đặt muaTham gia cùng 6946 người đăng ký khác
Giới thiệu về Dmitri Pavlutin
Nhà văn và huấn luyện viên công nghệ. Thói quen hàng ngày của tôi bao gồm [nhưng không giới hạn] uống cà phê, viết mã, viết, huấn luyện, vượt qua sự nhàm chán 😉