Welcome to the Treehouse Community

Want to collaborate on code errors? Have bugs you need feedback on? Looking for an extra set of eyes on your latest project? Get support with fellow developers, designers, and programmers of all backgrounds and skill levels here with the Treehouse Community! While you're at it, check out some resources Treehouse students have shared here.

Looking to learn something new?

Treehouse offers a seven day free trial for new students. Get access to thousands of hours of content and join thousands of Treehouse students and alumni in the community today.

Start your free trial

JavaScript JavaScript Basics (Retired) Creating Reusable Code with Functions Random Number Challenge, Part II Solution

Couldn't we just use typeof instead of isNaN?

Wouldn't it be a lot simpler if we just used typeof instead of isNaN? typeof seems more straightforward to me when testing for value types. isNaN and Number.isNaN seem overly complicated.

1 Answer

Seth Kroger
Seth Kroger
56,413 Points

Let's try that in the browser console:

let num = NaN
 // undefined
num
  // NaN
typeof num
  // "number"   ...What?

That's because NaN is a special value. It's not so much "this value is something other than a number" as "this numeric value cannot be represented by a real number."