Assignment vs equality operator

Tell us what’s happening:
When I ran the test using the assignment operator (=) in the conditional statements, the function didn’t work. For example:

if (strokes = par) {
return names[3]
}

It only worked when I changed them to the equality operator (==).

Why is that?

  **Your code so far**

var 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 names[0];
} else if (strokes > 1 && strokes <= par - 2) {
  return names[1];
} else if (strokes == par - 1) {
  return names[2];
} else if (strokes == par) {
  return names[3];
} else if (strokes == par + 1) {
  return names[4];
} else if (strokes == par + 2) {
  return names[5];
} else if (strokes >= par + 3) {
  return names[6];
}


// Only change code above this line
}

golfScore(5, 4);
  **Your browser information:**

User Agent is: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/94.0.4606.81 Safari/537.36

Challenge: Golf Code

Link to the challenge:

The assignment operator is for setting the value of a variable. The equality operator is for comparing two values.

1 Like

Ah, so simple lol
Thank you :slight_smile: