{"id":4407,"date":"2023-12-08T07:21:13","date_gmt":"2023-12-08T07:21:13","guid":{"rendered":"https:\/\/unitconversion.io\/blog\/?p=4407"},"modified":"2023-12-08T07:21:13","modified_gmt":"2023-12-08T07:21:13","slug":"how-to-prevent-and-handle-nan-values-in-javascript-code","status":"publish","type":"post","link":"https:\/\/unitconversion.io\/blog\/how-to-prevent-and-handle-nan-values-in-javascript-code\/","title":{"rendered":"How to Prevent and Handle NaN Values in JavaScript Code"},"content":{"rendered":"<p>The NaN (Not a Number) value in JavaScript represents a failed numeric conversion or invalid mathematical operation. NaN can easily slip into code and cause unexpected errors if not properly handled. Here, we are going to discuss what causes NaN values, how to check for them, and tips on preventing issues from NaN in your JavaScript code through techniques like input validation, default values, and warnings for users.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-3345\" src=\"https:\/\/unitconversion.io\/blog\/wp-content\/uploads\/2022\/12\/developers-talk.jpg\" alt=\"\" width=\"1920\" height=\"1280\" srcset=\"https:\/\/unitconversion.io\/blog\/wp-content\/uploads\/2022\/12\/developers-talk.jpg 1920w, https:\/\/unitconversion.io\/blog\/wp-content\/uploads\/2022\/12\/developers-talk-300x200.jpg 300w, https:\/\/unitconversion.io\/blog\/wp-content\/uploads\/2022\/12\/developers-talk-1024x683.jpg 1024w, https:\/\/unitconversion.io\/blog\/wp-content\/uploads\/2022\/12\/developers-talk-768x512.jpg 768w, https:\/\/unitconversion.io\/blog\/wp-content\/uploads\/2022\/12\/developers-talk-1536x1024.jpg 1536w\" sizes=\"(max-width: 1920px) 100vw, 1920px\" \/><\/p>\n<h2>What Causes NaN Values<\/h2>\n<p>There are several situations that can result in NaN values in JavaScript:<\/p>\n<ul>\n<li>Explicitly trying to convert a non-numeric value like a string or undefined to a number, such as with\u00a0<em>Number()<\/em>or\u00a0<em>parseInt().<\/em> For example:<\/li>\n<\/ul>\n<p><em>let num = Number(&#8220;hello&#8221;); \/\/ NaN<\/em><\/p>\n<p><em>let num2 = parseInt(&#8220;123abc&#8221;); \/\/ NaN<\/em><\/p>\n<ul>\n<li><a href=\"https:\/\/www.geeksforgeeks.org\/javascript-number-nan-property\/\">Doing mathematical operation<\/a>s with non-numeric operands like strings or undefined. For example:<\/li>\n<\/ul>\n<p><em>let x = &#8220;hello&#8221; * 3; \/\/ NaN<\/em><\/p>\n<p><em>let y = 10 \/ undefined; \/\/ NaN<\/em><\/p>\n<ul>\n<li>Operations that have no mathematical meaning, like 0\/0 or Infinity &#8211; Infinity. For example:<\/li>\n<\/ul>\n<p><em>let z = 0 \/ 0; \/\/ NaN<\/em><\/p>\n<p><em>let w = Infinity &#8211; Infinity; \/\/ NaN<\/em><\/p>\n<ul>\n<li>Calling Math methods like\u00a0<em>sqrt()<\/em>or\u00a0<em>Math.log()<\/em>\u00a0with invalid arguments.<\/li>\n<li>And more &#8211; basically any operation that attempts to treat a non-numeric value as a number.<\/li>\n<\/ul>\n<p>Once introduced, NaN will propagate through any further operations.<\/p>\n<h2>Checking for NaN<\/h2>\n<p>Since NaN represents a failed numeric conversion or invalid operation, you&#8217;ll often want to check if a value is NaN before using it in other calculations or displaying it to prevent errors.<\/p>\n<p>To <a href=\"https:\/\/uploadcare.com\/blog\/what-is-nan\/\">check if number JavaScript<\/a>, you can use the\u00a0\u201d<em>typeof<\/em>\u00a0\u201c operator:<\/p>\n<p><em>let num = &#8220;hello&#8221;;<\/em><\/p>\n<p><em>\u00a0<\/em><\/p>\n<p><em>if (typeof num === &#8220;number&#8221;) {<\/em><\/p>\n<p><em>\u00a0 \/\/ num is a number<\/em><\/p>\n<p><em>} else {<\/em><\/p>\n<p><em>\u00a0 \/\/ num is NOT a number <\/em><\/p>\n<p><em>}<\/em><\/p>\n<p>However, checking for NaN is tricky because NaN does not equal itself or any other value. So you can&#8217;t check if a value equals NaN like you would for other values.<\/p>\n<p>Instead, JavaScript provides the global\u00a0<em>isNaN()<\/em>\u00a0function to check if a value is NaN:<\/p>\n<p><em>let num = Number(&#8220;hello&#8221;);<\/em><\/p>\n<p><em>if (isNaN(num)) {<\/em><\/p>\n<p><em>\u00a0 \/\/ num is NaN<\/em><\/p>\n<p><em>}<\/em><\/p>\n<p>The\u00a0<em>isNaN()<\/em>\u00a0function will first coerce the value to a number, then check if it equals NaN.<\/p>\n<p>There is also a more robust\u00a0<em>Number.isNaN()<\/em>\u00a0function available in modern browsers and Node.js which doesn&#8217;t coerce the type:<\/p>\n<p><em>let num = Number(&#8220;hello&#8221;);<\/em><\/p>\n<p><em>if (Number.isNaN(num)) {<\/em><\/p>\n<p><em>\u00a0\u00a0 \/\/ num is NaN <\/em><\/p>\n<p><em>}<\/em><\/p>\n<h2>How to Avoid Issues with NaN<\/h2>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-3477\" src=\"https:\/\/unitconversion.io\/blog\/wp-content\/uploads\/2023\/02\/laptop.jpg\" alt=\"Laptop\" width=\"2400\" height=\"1600\" srcset=\"https:\/\/unitconversion.io\/blog\/wp-content\/uploads\/2023\/02\/laptop.jpg 2400w, https:\/\/unitconversion.io\/blog\/wp-content\/uploads\/2023\/02\/laptop-300x200.jpg 300w, https:\/\/unitconversion.io\/blog\/wp-content\/uploads\/2023\/02\/laptop-1024x683.jpg 1024w, https:\/\/unitconversion.io\/blog\/wp-content\/uploads\/2023\/02\/laptop-768x512.jpg 768w, https:\/\/unitconversion.io\/blog\/wp-content\/uploads\/2023\/02\/laptop-1536x1024.jpg 1536w, https:\/\/unitconversion.io\/blog\/wp-content\/uploads\/2023\/02\/laptop-2048x1365.jpg 2048w\" sizes=\"(max-width: 2400px) 100vw, 2400px\" \/><\/p>\n<p>Because NaN represents invalid values and it is among the <a href=\"https:\/\/www.toptal.com\/javascript\/10-most-common-javascript-mistakes\">common JavaScript mistakes<\/a>, you generally want to catch and handle NaN values appropriately in your code to avoid potential errors or unexpected behavior.<\/p>\n<p>Here are some tips for properly dealing with NaN values:<\/p>\n<h3>1. Check for NaN before further calculations<\/h3>\n<p>Since NaN propagates in operations, check numeric variables for NaN before using them in additional arithmetic.<\/p>\n<h3>2. Handle parse\/conversion failures<\/h3>\n<p>When converting user input or external data to numbers, always check for NaN and handle the failure case appropriately by setting a default value or warning the user.<\/p>\n<h3>3. Catch NaN with\u00a0<em>isNaN()<\/em>\u00a0in operations<\/h3>\n<p>For mathematical operations that could potentially result in NaN, you can catch the invalid operation using\u00a0<em>isNaN().<\/em><\/p>\n<p>For example:<\/p>\n<p><em>let x = 1;<\/em><\/p>\n<p><em>let y = &#8220;hello&#8221;;<\/em><\/p>\n<p><em>let z;<\/em><\/p>\n<p><em>z = x + y;<\/em><\/p>\n<p><em>if (isNaN(z)) {<\/em><\/p>\n<p><em>\u00a0 \/\/ Handle NaN from invalid operation<\/em><\/p>\n<p><em>\u00a0 z = 0; <\/em><\/p>\n<p><em>}<\/em><\/p>\n<h3>4. Use\u00a0<em>Number.isNaN()<\/em>\u00a0for comparisons<\/h3>\n<p>Since\u00a0<em>isNaN()<\/em>\u00a0coerces values which affects comparisons, use the strict\u00a0<em>Number.isNaN()<\/em>\u00a0where possible.<\/p>\n<h3>5. Display warnings to user<\/h3>\n<p>When NaN occurs, display warnings to the user indicating invalid input values rather than fail silently.<\/p>\n<p>Properly handling NaN ensures errors won&#8217;t slip through to cause issues down the line. By leveraging tools like\u00a0<em>isNaN()<\/em>\u00a0and displaying warnings, NaN can be appropriately dealt with in JavaScript code.<\/p>\n<p><strong>You should read: <\/strong><a href=\"https:\/\/unitconversion.io\/blog\/benefits-of-choosing-java-software-development-services\/\"><strong>Benefits of Choosing Java Software Development Services<\/strong><\/a><\/p>\n<h2>Conclusion<\/h2>\n<p>NaN values stem from invalid operations, so robust input validation and handling of non-numeric data are key to preventing issues. By leveraging built-in methods like <em>isNaN()<\/em> and <em>Number.isNaN()<\/em> combined with user warnings for conversion failures, NaN can be properly dealt with to avoid unexpected errors in calculations or application behavior.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>The NaN (Not a Number) value in JavaScript represents a failed numeric conversion or invalid mathematical operation. NaN can easily slip into code and cause unexpected errors if not properly handled. Here, we are going to discuss what causes NaN values, how to check for them, and tips on preventing issues from NaN in your JavaScript code through techniques like input validation, default values, and warnings for users. <a href=\"https:\/\/unitconversion.io\/blog\/how-to-prevent-and-handle-nan-values-in-javascript-code\/\" class=\"read-more\">Read more<\/a><\/p>\n","protected":false},"author":1,"featured_media":4408,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[1],"tags":[377,393,378],"class_list":["post-4407","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-uncategorized","tag-java","tag-javascript","tag-programming","generate-columns","tablet-grid-50","mobile-grid-100","grid-parent","grid-50","no-featured-image-padding"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v23.4 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>How to Prevent and Handle NaN Values in JavaScript Code - Unit Conversion Blog<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/unitconversion.io\/blog\/how-to-prevent-and-handle-nan-values-in-javascript-code\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"How to Prevent and Handle NaN Values in JavaScript Code - Unit Conversion Blog\" \/>\n<meta property=\"og:description\" content=\"The NaN (Not a Number) value in JavaScript represents a failed numeric conversion or invalid mathematical operation. NaN can easily slip into code and cause unexpected errors if not properly handled. Here, we are going to discuss what causes NaN values, how to check for them, and tips on preventing issues from NaN in your JavaScript code through techniques like input validation, default values, and warnings for users. Read more\" \/>\n<meta property=\"og:url\" content=\"https:\/\/unitconversion.io\/blog\/how-to-prevent-and-handle-nan-values-in-javascript-code\/\" \/>\n<meta property=\"og:site_name\" content=\"Unit Conversion Blog\" \/>\n<meta property=\"article:published_time\" content=\"2023-12-08T07:21:13+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/unitconversion.io\/blog\/wp-content\/uploads\/2023\/12\/how-to-prevent-and-handle-nan-values-in-javascript-code.png\" \/>\n\t<meta property=\"og:image:width\" content=\"1200\" \/>\n\t<meta property=\"og:image:height\" content=\"675\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"author\" content=\"gordan\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"gordan\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"4 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/unitconversion.io\/blog\/how-to-prevent-and-handle-nan-values-in-javascript-code\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/unitconversion.io\/blog\/how-to-prevent-and-handle-nan-values-in-javascript-code\/\"},\"author\":{\"name\":\"gordan\",\"@id\":\"https:\/\/unitconversion.io\/blog\/#\/schema\/person\/58cca139bd92e7b82706c28de1ac0b99\"},\"headline\":\"How to Prevent and Handle NaN Values in JavaScript Code\",\"datePublished\":\"2023-12-08T07:21:13+00:00\",\"dateModified\":\"2023-12-08T07:21:13+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/unitconversion.io\/blog\/how-to-prevent-and-handle-nan-values-in-javascript-code\/\"},\"wordCount\":651,\"publisher\":{\"@id\":\"https:\/\/unitconversion.io\/blog\/#organization\"},\"image\":{\"@id\":\"https:\/\/unitconversion.io\/blog\/how-to-prevent-and-handle-nan-values-in-javascript-code\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/unitconversion.io\/blog\/wp-content\/uploads\/2023\/12\/how-to-prevent-and-handle-nan-values-in-javascript-code.png\",\"keywords\":[\"Java\",\"javascript\",\"programming\"],\"inLanguage\":\"en-US\"},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/unitconversion.io\/blog\/how-to-prevent-and-handle-nan-values-in-javascript-code\/\",\"url\":\"https:\/\/unitconversion.io\/blog\/how-to-prevent-and-handle-nan-values-in-javascript-code\/\",\"name\":\"How to Prevent and Handle NaN Values in JavaScript Code - Unit Conversion Blog\",\"isPartOf\":{\"@id\":\"https:\/\/unitconversion.io\/blog\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/unitconversion.io\/blog\/how-to-prevent-and-handle-nan-values-in-javascript-code\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/unitconversion.io\/blog\/how-to-prevent-and-handle-nan-values-in-javascript-code\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/unitconversion.io\/blog\/wp-content\/uploads\/2023\/12\/how-to-prevent-and-handle-nan-values-in-javascript-code.png\",\"datePublished\":\"2023-12-08T07:21:13+00:00\",\"dateModified\":\"2023-12-08T07:21:13+00:00\",\"breadcrumb\":{\"@id\":\"https:\/\/unitconversion.io\/blog\/how-to-prevent-and-handle-nan-values-in-javascript-code\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/unitconversion.io\/blog\/how-to-prevent-and-handle-nan-values-in-javascript-code\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/unitconversion.io\/blog\/how-to-prevent-and-handle-nan-values-in-javascript-code\/#primaryimage\",\"url\":\"https:\/\/unitconversion.io\/blog\/wp-content\/uploads\/2023\/12\/how-to-prevent-and-handle-nan-values-in-javascript-code.png\",\"contentUrl\":\"https:\/\/unitconversion.io\/blog\/wp-content\/uploads\/2023\/12\/how-to-prevent-and-handle-nan-values-in-javascript-code.png\",\"width\":1200,\"height\":675,\"caption\":\"How to Prevent and Handle NaN Values in JavaScript Code\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/unitconversion.io\/blog\/how-to-prevent-and-handle-nan-values-in-javascript-code\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/unitconversion.io\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"How to Prevent and Handle NaN Values in JavaScript Code\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/unitconversion.io\/blog\/#website\",\"url\":\"https:\/\/unitconversion.io\/blog\/\",\"name\":\"Unit Conversion Blog\",\"description\":\"On conversion and other things :)\",\"publisher\":{\"@id\":\"https:\/\/unitconversion.io\/blog\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/unitconversion.io\/blog\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/unitconversion.io\/blog\/#organization\",\"name\":\"Unit Conversion Blog\",\"url\":\"https:\/\/unitconversion.io\/blog\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/unitconversion.io\/blog\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/unitconversion.io\/blog\/wp-content\/uploads\/2021\/01\/uclogo.png\",\"contentUrl\":\"https:\/\/unitconversion.io\/blog\/wp-content\/uploads\/2021\/01\/uclogo.png\",\"width\":500,\"height\":500,\"caption\":\"Unit Conversion Blog\"},\"image\":{\"@id\":\"https:\/\/unitconversion.io\/blog\/#\/schema\/logo\/image\/\"}},{\"@type\":\"Person\",\"@id\":\"https:\/\/unitconversion.io\/blog\/#\/schema\/person\/58cca139bd92e7b82706c28de1ac0b99\",\"name\":\"gordan\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/unitconversion.io\/blog\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/1a7e11456b252da6581705039dda5ba3?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/1a7e11456b252da6581705039dda5ba3?s=96&d=mm&r=g\",\"caption\":\"gordan\"},\"url\":\"https:\/\/unitconversion.io\/blog\/author\/gordan\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"How to Prevent and Handle NaN Values in JavaScript Code - Unit Conversion Blog","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/unitconversion.io\/blog\/how-to-prevent-and-handle-nan-values-in-javascript-code\/","og_locale":"en_US","og_type":"article","og_title":"How to Prevent and Handle NaN Values in JavaScript Code - Unit Conversion Blog","og_description":"The NaN (Not a Number) value in JavaScript represents a failed numeric conversion or invalid mathematical operation. NaN can easily slip into code and cause unexpected errors if not properly handled. Here, we are going to discuss what causes NaN values, how to check for them, and tips on preventing issues from NaN in your JavaScript code through techniques like input validation, default values, and warnings for users. Read more","og_url":"https:\/\/unitconversion.io\/blog\/how-to-prevent-and-handle-nan-values-in-javascript-code\/","og_site_name":"Unit Conversion Blog","article_published_time":"2023-12-08T07:21:13+00:00","og_image":[{"width":1200,"height":675,"url":"https:\/\/unitconversion.io\/blog\/wp-content\/uploads\/2023\/12\/how-to-prevent-and-handle-nan-values-in-javascript-code.png","type":"image\/png"}],"author":"gordan","twitter_card":"summary_large_image","twitter_misc":{"Written by":"gordan","Est. reading time":"4 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/unitconversion.io\/blog\/how-to-prevent-and-handle-nan-values-in-javascript-code\/#article","isPartOf":{"@id":"https:\/\/unitconversion.io\/blog\/how-to-prevent-and-handle-nan-values-in-javascript-code\/"},"author":{"name":"gordan","@id":"https:\/\/unitconversion.io\/blog\/#\/schema\/person\/58cca139bd92e7b82706c28de1ac0b99"},"headline":"How to Prevent and Handle NaN Values in JavaScript Code","datePublished":"2023-12-08T07:21:13+00:00","dateModified":"2023-12-08T07:21:13+00:00","mainEntityOfPage":{"@id":"https:\/\/unitconversion.io\/blog\/how-to-prevent-and-handle-nan-values-in-javascript-code\/"},"wordCount":651,"publisher":{"@id":"https:\/\/unitconversion.io\/blog\/#organization"},"image":{"@id":"https:\/\/unitconversion.io\/blog\/how-to-prevent-and-handle-nan-values-in-javascript-code\/#primaryimage"},"thumbnailUrl":"https:\/\/unitconversion.io\/blog\/wp-content\/uploads\/2023\/12\/how-to-prevent-and-handle-nan-values-in-javascript-code.png","keywords":["Java","javascript","programming"],"inLanguage":"en-US"},{"@type":"WebPage","@id":"https:\/\/unitconversion.io\/blog\/how-to-prevent-and-handle-nan-values-in-javascript-code\/","url":"https:\/\/unitconversion.io\/blog\/how-to-prevent-and-handle-nan-values-in-javascript-code\/","name":"How to Prevent and Handle NaN Values in JavaScript Code - Unit Conversion Blog","isPartOf":{"@id":"https:\/\/unitconversion.io\/blog\/#website"},"primaryImageOfPage":{"@id":"https:\/\/unitconversion.io\/blog\/how-to-prevent-and-handle-nan-values-in-javascript-code\/#primaryimage"},"image":{"@id":"https:\/\/unitconversion.io\/blog\/how-to-prevent-and-handle-nan-values-in-javascript-code\/#primaryimage"},"thumbnailUrl":"https:\/\/unitconversion.io\/blog\/wp-content\/uploads\/2023\/12\/how-to-prevent-and-handle-nan-values-in-javascript-code.png","datePublished":"2023-12-08T07:21:13+00:00","dateModified":"2023-12-08T07:21:13+00:00","breadcrumb":{"@id":"https:\/\/unitconversion.io\/blog\/how-to-prevent-and-handle-nan-values-in-javascript-code\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/unitconversion.io\/blog\/how-to-prevent-and-handle-nan-values-in-javascript-code\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/unitconversion.io\/blog\/how-to-prevent-and-handle-nan-values-in-javascript-code\/#primaryimage","url":"https:\/\/unitconversion.io\/blog\/wp-content\/uploads\/2023\/12\/how-to-prevent-and-handle-nan-values-in-javascript-code.png","contentUrl":"https:\/\/unitconversion.io\/blog\/wp-content\/uploads\/2023\/12\/how-to-prevent-and-handle-nan-values-in-javascript-code.png","width":1200,"height":675,"caption":"How to Prevent and Handle NaN Values in JavaScript Code"},{"@type":"BreadcrumbList","@id":"https:\/\/unitconversion.io\/blog\/how-to-prevent-and-handle-nan-values-in-javascript-code\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/unitconversion.io\/blog\/"},{"@type":"ListItem","position":2,"name":"How to Prevent and Handle NaN Values in JavaScript Code"}]},{"@type":"WebSite","@id":"https:\/\/unitconversion.io\/blog\/#website","url":"https:\/\/unitconversion.io\/blog\/","name":"Unit Conversion Blog","description":"On conversion and other things :)","publisher":{"@id":"https:\/\/unitconversion.io\/blog\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/unitconversion.io\/blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/unitconversion.io\/blog\/#organization","name":"Unit Conversion Blog","url":"https:\/\/unitconversion.io\/blog\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/unitconversion.io\/blog\/#\/schema\/logo\/image\/","url":"https:\/\/unitconversion.io\/blog\/wp-content\/uploads\/2021\/01\/uclogo.png","contentUrl":"https:\/\/unitconversion.io\/blog\/wp-content\/uploads\/2021\/01\/uclogo.png","width":500,"height":500,"caption":"Unit Conversion Blog"},"image":{"@id":"https:\/\/unitconversion.io\/blog\/#\/schema\/logo\/image\/"}},{"@type":"Person","@id":"https:\/\/unitconversion.io\/blog\/#\/schema\/person\/58cca139bd92e7b82706c28de1ac0b99","name":"gordan","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/unitconversion.io\/blog\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/1a7e11456b252da6581705039dda5ba3?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/1a7e11456b252da6581705039dda5ba3?s=96&d=mm&r=g","caption":"gordan"},"url":"https:\/\/unitconversion.io\/blog\/author\/gordan\/"}]}},"_links":{"self":[{"href":"https:\/\/unitconversion.io\/blog\/wp-json\/wp\/v2\/posts\/4407"}],"collection":[{"href":"https:\/\/unitconversion.io\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/unitconversion.io\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/unitconversion.io\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/unitconversion.io\/blog\/wp-json\/wp\/v2\/comments?post=4407"}],"version-history":[{"count":1,"href":"https:\/\/unitconversion.io\/blog\/wp-json\/wp\/v2\/posts\/4407\/revisions"}],"predecessor-version":[{"id":4409,"href":"https:\/\/unitconversion.io\/blog\/wp-json\/wp\/v2\/posts\/4407\/revisions\/4409"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/unitconversion.io\/blog\/wp-json\/wp\/v2\/media\/4408"}],"wp:attachment":[{"href":"https:\/\/unitconversion.io\/blog\/wp-json\/wp\/v2\/media?parent=4407"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/unitconversion.io\/blog\/wp-json\/wp\/v2\/categories?post=4407"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/unitconversion.io\/blog\/wp-json\/wp\/v2\/tags?post=4407"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}