Return Early Pattern for Functions returns NaN

Return Early Pattern for Functions returns NaN
0

#1

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
abTest(2,2);

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:
https://learn.freecodecamp.org/javascript-algorithms-and-data-structures/basic-javascript/return-early-pattern-for-functions/


#2

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


#3

If abTest is less than 0


#4

And what is abTest?


#5

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


#6

abTest is the name of the function.


#7

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

so

if (a < 0 || b < 0)