Return Early Pattern for Functions returns NaN

Return Early Pattern for Functions returns NaN


Tell us what’s happening:
When I take the return undefined out of the if/else, it returns undefined. Placing it in an if/else returns NaN, are there any ideas why?

Your code so far

// Setup
function abTest(a, b) {
  // Only change code below this line
  if (abTest < 0) {
    return undefined;
  } else {

  // Only change code above this line

  return Math.round(Math.pow(Math.sqrt(a) + Math.sqrt(b), 2));

// Change values below to test your code

Your browser information:

User Agent is: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_13_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/69.0.3497.100 Safari/537.36.

Link to the challenge:


if (abTest < 0) {
Can you describe what you think this is doing?


If abTest is less than 0


And what is abTest?


At this point it is a and b, or 2 and 2, the parameters that are being fed in.


abTest is the name of the function.


I see, so if I test against the parameters, I should be good.


if (a < 0 || b < 0)

split this topic #8

A post was split to a new topic: Problem with Return Early Pattern for Functions