Basic JavaScript - Golf Code

Tell us what’s happening:
i dont understand why every condition besides the first and second one have to be strictly equal (===) and not just equal (==). All help is welcome

  **Your code so far**
const names = ["Hole-in-one!", "Eagle", "Birdie", "Par", "Bogey", "Double Bogey", "Go Home!"];

function golfScore(par, strokes) {
// Only change code below this line
if (strokes == 1) {
  return "Hole-in-one!"; 
} else if (strokes <= par - 2){
  return "Eagle";
} else if (strokes === par - 1) {
  return "Birdie"; 
} else if (strokes === par) {
  return "Par";
} else if (strokes === par + 1) {
  return "Bogey";
} else if (strokes === par + 2) {
  return "Double Bogey";
} else { return "Go Home!"; }


return "Change Me";
// Only change code above this line
}

golfScore(5, 4);

Challenge: Basic JavaScript - Golf Code

Link to the challenge:

You should use === over == in all of the cases.

I know, but is there any specific reason why you shouldn’t use ==

The specific reason is that == does type coercision, so you can get very difficult to diagnose bugs when you use == instead of ===

Understood, thank you for your help

This topic was automatically closed 182 days after the last reply. New replies are no longer allowed.