Hong  Nhung

Hong Nhung

1661238000

Không Phải Là Số (NaN) Trong JavaScript

Loại số trong JavaScript chứa số nguyên và số nổi:

const integer = 4;const float = 1.5;typeof integer; // => 'number'typeof float;   // => 'number'

Cộng với 2 giá trị số đặc biệt: Infinity(một số lớn hơn bất kỳ số nào khác) và NaN(đại diện cho khái niệm "Không phải số"):

const infinite = Infinity;const faulty = NaN;typeof infinite; // => 'number'typeof faulty;   // => 'number'

Mặc dù làm việc trực tiếp với NaNrất hiếm, nhưng nó có thể xuất hiện một cách đáng ngạc nhiên sau một hoạt động thất bại trên các con số.

Chúng ta hãy xem xét kỹ hơn NaNgiá trị đặc biệt: cách kiểm tra xem một biến có NaNvà quan trọng là hiểu các trường hợp tạo ra giá trị "Không phải số".

1. Số NaN

Loại số trong JavaScript là tập hợp tất cả các giá trị số, bao gồm "Không phải số", vô cực dương và vô cực âm.

"Không phải số" có thể được truy cập bằng cách sử dụng một biểu thức đặc biệt NaNhoặc như một thuộc tính của đối tượng hoặc Numberhàm toàn cục:

typeof NaN;        // => 'number'typeof window.NaN; // => 'number'typeof Number.NaN; // => 'number'

"Không phải số" là một giá trị không đại diện cho một số thực, mặc dù có kiểu số. NaNrất hữu ích để biểu diễn các hoạt động bị lỗi trên các số.

Ví dụ: nhân một số với undefinedkhông phải là một phép toán hợp lệ, do đó kết quả là NaN:

1 * undefined;     // => NaN

Cũng cố gắng phân tích cú pháp một chuỗi số không hợp lệ như 'Joker'kết quả NaN:

parseInt('Joker', 10); // => NaN

Phần 3. Các hoạt động dẫn đến NaN chi tiết vào các hoạt động tạo ra NaN.

2. Kiểm tra sự đồng đẳng với NaN

Đặc tính thú vị của NaNnó là nó không bằng bất kỳ giá trị nào, ngay cả với NaNchính nó:

NaN === NaN; // => false

Hành vi này rất hữu ích để phát hiện xem một biến có phải là NaN:

const someNumber = NaN;if (someNumber !== someNumber) {  console.log('Is NaN');} else {  console.log('Is Not NaN');}// logs "Is NaN"

someNumber !== someNumberbiểu thức là truechỉ nếu someNumberNaN. Vì vậy, đoạn mã trên ghi vào bảng điều khiển "Is NaN".

JavaScript có các hàm bult-in để phát hiện NaN: isNaN()Number.isNaN():

isNaN(NaN); // => trueisNaN(1);   // => falseNumber.isNaN(NaN); // => trueNumber.isNaN(1);   // => false

Sự khác biệt giữa các hàm này là Number.isNaN()không chuyển đổi đối số của nó thành một số:

isNaN('Joker12');        // => trueNumber.isNaN('Joker12'); // => false

isNaN('Joker12')chuyển đổi đối số 'Joker12'thành một số NaN. Do đó, hàm trả về true.

Mặt khác, Number.isNaN('Joker12')kiểm tra mà không cần chuyển đổi nếu đối số là NaN. Hàm trả về false'Joker12'không bằng nhau NaN.

3. Các hoạt động dẫn đến NaN

3.1 Phân tích cú pháp 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 '1.5'chuỗi thành một 1.5số thực:

const numberString = '1.5';const number = parseFloat(numberString);number; // => 1.5

Khi chuỗi không thể được chuyển đổi thành một số, hàm phân tích cú pháp trả về NaN: cho biết rằng quá trình phân tích cú pháp đã thất bại. Dưới đây là một số ví dụ:

parseFloat('Joker12.5'); // => NaNparseInt('Joker12', 10); // => NaNNumber('Joker12');       // => NaN

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à NaN:

let inputToParse = 'Invalid10';let number;number = parseInt(inputToParse, 10);if (isNaN(number)) {  number = 0;}number; // => 0

Quá trình phân tích cú pháp inputToParsekhông thành công, do đó parseInt(inputToParse, 10)trả về NaN. Điều kiện if (isNaN(number))true, và numberđược chỉ định cho 0.

3.2 không xác định như một toán hạng

undefinedđược sử dụng như một toán hạng trong các phép toán số học như cộng, nhân, v.v. cho kết quả NaN.

Ví dụ:

function getFontSize(style) {  return style.fontSize;}const fontSize = getFontSize({ size: 16 }) * 2;const doubledFontSize = fontSize * 2;doubledFontSize; // => NaN

getFontSize()là một hàm truy cập thuộc fontSizetính từ một đối tượng kiểu. Khi gọi getFontSize({ size: 16 }), kết quả là undefined( thuộc fontSizetính không tồn tại trong { size: 16 }đối tượng).

fontSize * 2được đánh giá là undefined * 2, kết quả là NaN.

"Not A Number" được tạo ra khi một thuộc tính bị thiếu hoặc một hàm trả về undefinedđược sử dụng như một giá trị trong các phép toán số học.

Đảm bảo rằng điều undefinedđó không đạt đến các phép toán số học là một cách tốt để ngăn chặn NaN. Vui lòng xem "7 Mẹo để Xử lý không xác định trong JavaScript" .

3.3 NaN như một toán hạng

NaNgiá trị cũng được tạo ra khi một toán hạng trong các phép toán tiêu chí là NaN:

1 + NaN; // => NaN2 * NaN; // => NaN

NaNtrải rộng trên các phép toán số học:

let invalidNumber = 1 * undefined;let result = 1;result += invalidNumber; // appendresult *= 2;             // duplicateresult++;                // incrementresult; // => NaN

Các hoạt động trên resultbiến bị hỏng sau khi invalidNumbergiá trị (mà có NaN) được thêm vào result.

3.4 Các dạng không xác định

NaNgiá trị được tạo ra khi các phép toán số học ở dạng không xác định.

Sự phân chia của 0 / 0Inifinity / Infinity:

0 / 0;               // => NaNInfinity / Infinity; // => NaN

Phép nhân của 0Infinity:

0 * Infinity; // => NaN

Phép cộng các số vô hạn của các dấu hiệu khác nhau:

-Infinity + Infinity; // => NaN

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:

Math.pow(-2, 0.5); // => NaN(-2) ** 0.5;       // => NaN

Hoặc loga của một số âm:

Math.log2(-2); // => NaN

4. Kết luận

Khái niệm "Not A Number", được diễn đạt bằng JavaScript với NaN, rất hữu ích để biểu thị các hoạt động bị lỗi trên các số.

NaNkhông bằng bất kỳ giá trị nào, ngay cả với NaNchính nó. Cách được khuyến nghị để kiểm tra xem một biến có chứa hay NaNkhông là sử dụng Number.isNaN(value).

Việc 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 có quay parseInt()lại parseFloat()hay Number()không NaN.

undefinedhoặc NaNnhư một toán hạng trong các phép toán số học thường dẫn đến NaN. Xử lý chính xác undefined(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ày.

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ó NaN? Tìm kiếm undefined!"

Nguồn: https://dmitripavlutin.com/nan-in-javascript/

#javascript 

What is GEEK

Buddha Community

Không Phải Là Số (NaN) Trong JavaScript
Hong  Nhung

Hong Nhung

1661238000

Không Phải Là Số (NaN) Trong JavaScript

Loại số trong JavaScript chứa số nguyên và số nổi:

const integer = 4;const float = 1.5;typeof integer; // => 'number'typeof float;   // => 'number'

Cộng với 2 giá trị số đặc biệt: Infinity(một số lớn hơn bất kỳ số nào khác) và NaN(đại diện cho khái niệm "Không phải số"):

const infinite = Infinity;const faulty = NaN;typeof infinite; // => 'number'typeof faulty;   // => 'number'

Mặc dù làm việc trực tiếp với NaNrất hiếm, nhưng nó có thể xuất hiện một cách đáng ngạc nhiên sau một hoạt động thất bại trên các con số.

Chúng ta hãy xem xét kỹ hơn NaNgiá trị đặc biệt: cách kiểm tra xem một biến có NaNvà quan trọng là hiểu các trường hợp tạo ra giá trị "Không phải số".

1. Số NaN

Loại số trong JavaScript là tập hợp tất cả các giá trị số, bao gồm "Không phải số", vô cực dương và vô cực âm.

"Không phải số" có thể được truy cập bằng cách sử dụng một biểu thức đặc biệt NaNhoặc như một thuộc tính của đối tượng hoặc Numberhàm toàn cục:

typeof NaN;        // => 'number'typeof window.NaN; // => 'number'typeof Number.NaN; // => 'number'

"Không phải số" là một giá trị không đại diện cho một số thực, mặc dù có kiểu số. NaNrất hữu ích để biểu diễn các hoạt động bị lỗi trên các số.

Ví dụ: nhân một số với undefinedkhông phải là một phép toán hợp lệ, do đó kết quả là NaN:

1 * undefined;     // => NaN

Cũng cố gắng phân tích cú pháp một chuỗi số không hợp lệ như 'Joker'kết quả NaN:

parseInt('Joker', 10); // => NaN

Phần 3. Các hoạt động dẫn đến NaN chi tiết vào các hoạt động tạo ra NaN.

2. Kiểm tra sự đồng đẳng với NaN

Đặc tính thú vị của NaNnó là nó không bằng bất kỳ giá trị nào, ngay cả với NaNchính nó:

NaN === NaN; // => false

Hành vi này rất hữu ích để phát hiện xem một biến có phải là NaN:

const someNumber = NaN;if (someNumber !== someNumber) {  console.log('Is NaN');} else {  console.log('Is Not NaN');}// logs "Is NaN"

someNumber !== someNumberbiểu thức là truechỉ nếu someNumberNaN. Vì vậy, đoạn mã trên ghi vào bảng điều khiển "Is NaN".

JavaScript có các hàm bult-in để phát hiện NaN: isNaN()Number.isNaN():

isNaN(NaN); // => trueisNaN(1);   // => falseNumber.isNaN(NaN); // => trueNumber.isNaN(1);   // => false

Sự khác biệt giữa các hàm này là Number.isNaN()không chuyển đổi đối số của nó thành một số:

isNaN('Joker12');        // => trueNumber.isNaN('Joker12'); // => false

isNaN('Joker12')chuyển đổi đối số 'Joker12'thành một số NaN. Do đó, hàm trả về true.

Mặt khác, Number.isNaN('Joker12')kiểm tra mà không cần chuyển đổi nếu đối số là NaN. Hàm trả về false'Joker12'không bằng nhau NaN.

3. Các hoạt động dẫn đến NaN

3.1 Phân tích cú pháp 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 '1.5'chuỗi thành một 1.5số thực:

const numberString = '1.5';const number = parseFloat(numberString);number; // => 1.5

Khi chuỗi không thể được chuyển đổi thành một số, hàm phân tích cú pháp trả về NaN: cho biết rằng quá trình phân tích cú pháp đã thất bại. Dưới đây là một số ví dụ:

parseFloat('Joker12.5'); // => NaNparseInt('Joker12', 10); // => NaNNumber('Joker12');       // => NaN

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à NaN:

let inputToParse = 'Invalid10';let number;number = parseInt(inputToParse, 10);if (isNaN(number)) {  number = 0;}number; // => 0

Quá trình phân tích cú pháp inputToParsekhông thành công, do đó parseInt(inputToParse, 10)trả về NaN. Điều kiện if (isNaN(number))true, và numberđược chỉ định cho 0.

3.2 không xác định như một toán hạng

undefinedđược sử dụng như một toán hạng trong các phép toán số học như cộng, nhân, v.v. cho kết quả NaN.

Ví dụ:

function getFontSize(style) {  return style.fontSize;}const fontSize = getFontSize({ size: 16 }) * 2;const doubledFontSize = fontSize * 2;doubledFontSize; // => NaN

getFontSize()là một hàm truy cập thuộc fontSizetính từ một đối tượng kiểu. Khi gọi getFontSize({ size: 16 }), kết quả là undefined( thuộc fontSizetính không tồn tại trong { size: 16 }đối tượng).

fontSize * 2được đánh giá là undefined * 2, kết quả là NaN.

"Not A Number" được tạo ra khi một thuộc tính bị thiếu hoặc một hàm trả về undefinedđược sử dụng như một giá trị trong các phép toán số học.

Đảm bảo rằng điều undefinedđó không đạt đến các phép toán số học là một cách tốt để ngăn chặn NaN. Vui lòng xem "7 Mẹo để Xử lý không xác định trong JavaScript" .

3.3 NaN như một toán hạng

NaNgiá trị cũng được tạo ra khi một toán hạng trong các phép toán tiêu chí là NaN:

1 + NaN; // => NaN2 * NaN; // => NaN

NaNtrải rộng trên các phép toán số học:

let invalidNumber = 1 * undefined;let result = 1;result += invalidNumber; // appendresult *= 2;             // duplicateresult++;                // incrementresult; // => NaN

Các hoạt động trên resultbiến bị hỏng sau khi invalidNumbergiá trị (mà có NaN) được thêm vào result.

3.4 Các dạng không xác định

NaNgiá trị được tạo ra khi các phép toán số học ở dạng không xác định.

Sự phân chia của 0 / 0Inifinity / Infinity:

0 / 0;               // => NaNInfinity / Infinity; // => NaN

Phép nhân của 0Infinity:

0 * Infinity; // => NaN

Phép cộng các số vô hạn của các dấu hiệu khác nhau:

-Infinity + Infinity; // => NaN

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:

Math.pow(-2, 0.5); // => NaN(-2) ** 0.5;       // => NaN

Hoặc loga của một số âm:

Math.log2(-2); // => NaN

4. Kết luận

Khái niệm "Not A Number", được diễn đạt bằng JavaScript với NaN, rất hữu ích để biểu thị các hoạt động bị lỗi trên các số.

NaNkhông bằng bất kỳ giá trị nào, ngay cả với NaNchính nó. Cách được khuyến nghị để kiểm tra xem một biến có chứa hay NaNkhông là sử dụng Number.isNaN(value).

Việc 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 có quay parseInt()lại parseFloat()hay Number()không NaN.

undefinedhoặc NaNnhư một toán hạng trong các phép toán số học thường dẫn đến NaN. Xử lý chính xác undefined(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ày.

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ó NaN? Tìm kiếm undefined!"

Nguồn: https://dmitripavlutin.com/nan-in-javascript/

#javascript 

Rahul Jangid

1622207074

What is JavaScript - Stackfindover - Blog

Who invented JavaScript, how it works, as we have given information about Programming language in our previous article ( What is PHP ), but today we will talk about what is JavaScript, why JavaScript is used The Answers to all such questions and much other information about JavaScript, you are going to get here today. Hope this information will work for you.

Who invented JavaScript?

JavaScript language was invented by Brendan Eich in 1995. JavaScript is inspired by Java Programming Language. The first name of JavaScript was Mocha which was named by Marc Andreessen, Marc Andreessen is the founder of Netscape and in the same year Mocha was renamed LiveScript, and later in December 1995, it was renamed JavaScript which is still in trend.

What is JavaScript?

JavaScript is a client-side scripting language used with HTML (Hypertext Markup Language). JavaScript is an Interpreted / Oriented language called JS in programming language JavaScript code can be run on any normal web browser. To run the code of JavaScript, we have to enable JavaScript of Web Browser. But some web browsers already have JavaScript enabled.

Today almost all websites are using it as web technology, mind is that there is maximum scope in JavaScript in the coming time, so if you want to become a programmer, then you can be very beneficial to learn JavaScript.

JavaScript Hello World Program

In JavaScript, ‘document.write‘ is used to represent a string on a browser.

<script type="text/javascript">
	document.write("Hello World!");
</script>

How to comment JavaScript code?

  • For single line comment in JavaScript we have to use // (double slashes)
  • For multiple line comments we have to use / * – – * /
<script type="text/javascript">

//single line comment

/* document.write("Hello"); */

</script>

Advantages and Disadvantages of JavaScript

#javascript #javascript code #javascript hello world #what is javascript #who invented javascript

Hire Dedicated JavaScript Developers -Hire JavaScript Developers

It is said that a digital resource a business has must be interactive in nature, so the website or the business app should be interactive. How do you make the app interactive? With the use of JavaScript.

Does your business need an interactive website or app?

Hire Dedicated JavaScript Developer from WebClues Infotech as the developer we offer is highly skilled and expert in what they do. Our developers are collaborative in nature and work with complete transparency with the customers.

The technology used to develop the overall app by the developers from WebClues Infotech is at par with the latest available technology.

Get your business app with JavaScript

For more inquiry click here https://bit.ly/31eZyDZ

Book Free Interview: https://bit.ly/3dDShFg

#hire dedicated javascript developers #hire javascript developers #top javascript developers for hire #hire javascript developer #hire a freelancer for javascript developer #hire the best javascript developers

Niraj Kafle

1589255577

The essential JavaScript concepts that you should understand

As a JavaScript developer of any level, you need to understand its foundational concepts and some of the new ideas that help us developing code. In this article, we are going to review 16 basic concepts. So without further ado, let’s get to it.

#javascript-interview #javascript-development #javascript-fundamental #javascript #javascript-tips

Ajay Kapoor

1626321063

JS Development Company India | JavaScript Development Services

PixelCrayons: Our JavaScript web development service offers you a feature-packed & dynamic web application that effectively caters to your business challenges and provide you the best RoI. Our JavaScript web development company works on all major frameworks & libraries like Angular, React, Nodejs, Vue.js, to name a few.

With 15+ years of domain expertise, we have successfully delivered 13800+ projects and have successfully garnered 6800+ happy customers with 97%+ client retention rate.

Looking for professional JavaScript web app development services? We provide custom JavaScript development services applying latest version frameworks and libraries to propel businesses to the next level. Our well-defined and manageable JS development processes are balanced between cost, time and quality along with clear communication.

Our JavaScript development companies offers you strict NDA, 100% money back guarantee and agile/DevOps approach.

#javascript development company #javascript development services #javascript web development #javascript development #javascript web development services #javascript web development company