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 trialLynn Mitchell
5,133 PointsWhy is it that you don't have to say if (isNAN(upper) = true )?
Why is it that you don't have to say if (isNAN(upper) = true )? I tried to run this with
function getRandomNumber( lower, upper ) { if (isNAN(upper) =true || isNAN(lower) = true{ throw new Error("You must enter a number!"); }else{ return Math.floor(Math.random() * (upper - lower + 1)) + lower; }
I figured you would have to say if upper is true do this also what if you were asking if it is false? Then what would you do?
1 Answer
Steven Parker
231,236 PointsFirst, a single equal sign ("=") is an assignment operator. A comparison is a double symbol ("==").
Comparison operators create a boolean result to indicate the outcome of the comparison. So you never need to compare any boolean value to "true", because it already represents that.
if (isNaN(upper) == true || isNaN(lower) == true) // so this test...
if (isNaN(upper) || isNaN(lower)) // does the same thing as THIS one
And to check if a boolean value is false you can use the "not" operator ("!"):
if (!isNaN(someValue)) // this expression is true when "isNaN" is false
Lynn Mitchell
5,133 PointsLynn Mitchell
5,133 PointsThank you!