It works but it doesnt

What would be the difference here in using || and && … why my code works but doesnt pass the test

cheers

Your code so far

// Setup
function abTest(a, b) {
  // Only change code below this line
  if (a && b < 0) {
    return;
  }
  
  
  // 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:

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

Link to the challenge:
https://www.freecodecamp.org/challenges/return-early-pattern-for-functions

|| means “or” - if either of the items is true, this returns true
&& means “and” - this only returns true if both the items are true.