Review JavaScript Fundamentals by Building a Gradebook App - Step 3

Tell us what’s happening:

Why is my passgrade function returning true for the console statements:

function hasPassingGrade(score) {
if (score === “F”) {
return false;
} else {
return true;
}
}

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 === "F") {
    return false;
  } else {
    return true;
  }
}


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) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/135.0.0.0 Safari/537.36

Challenge Information:

Review JavaScript Fundamentals by Building a Gradebook App - Step 3

look here at examples of how the function is called, score will never be "F"

1 Like

Thank you. I fixed it by converting the numeric score to a letter grade before checking it