Review JavaScript Fundamentals by Building a Gradebook App - Step 3

Tell us what’s happening:

I don’t understand this. While it accepts “score >= 50” code, it doesn’t accept “score < 50” even on the console it returns a false value if one of the scores are below 50.

Your code so far

function getAverage(scores) {
  let sum = 0;

  for (const score of scores) {
    sum += score;
  }

  return sum / scores.length;
}

function getGrade(score) {
  if (score === 100) {
    return "A++";
  } else if (score >= 90) {
    return "A";
  } else if (score >= 80) {
    return "B";
  } else if (score >= 70) {
    return "C";
  } else if (score >= 60) {
    return "D";
  } else {
    return "F";
  }
}


// User Editable Region

function hasPassingGrade(score) {
  if (score >= 50) {
    return true;
  } else if (score < 50 ) {
    return false;
  }
}


console.log(hasPassingGrade(100));
console.log(hasPassingGrade(53));
console.log(hasPassingGrade(87));

// User Editable Region

Your browser information:

User Agent is: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:126.0) Gecko/20100101 Firefox/126.0

Challenge Information:

Review JavaScript Fundamentals by Building a Gradebook App - Step 3

Hi there and welcome to our community!

50 is not the pass mark in this case. Any grade which is not ‘F’ is a passing grade.
You’ll note from the getGrade() function where the score threshold for pass/fail lies.

But I don’t get it, like it accepts the true boolean, and I can see the false boolean on the console if I change a number to something below 50.

50 is not the cutoff for a passing grade, that’s why your code doesn’t pass