Multiple Conditional (Ternary) Operators Mystery error

Tell us what’s happening:
I continue to get error messages that I shouldn’t use a bracket or a colon, I removed parentheses around conditions because the video didn’t use them. I can’t figure out what’s going on. My code looks perfect.

Your code so far


function checkSign(num) {
return num > 0 ? "positive" : num < 0 ? "negative": num === 0 ? "zero";
}

console.log (checkSign(10)};

Your browser information:

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

Challenge: Use Multiple Conditional (Ternary) Operators

Link to the challenge:

Your ternary needs to match the expected format:

function findGreaterOrEqual(a, b) {
  return (a === b) ? "a and b are equal" 
    : (a > b) ? "a is greater" 
    : "b is greater";
}

Notice the line breaks and the lack of a third conditional.

The instructions say use positive, negative and zero

checkSign should use multiple conditional operators

checkSign(10) should return “positive”. Note that capitalization matters

checkSign(-12) should return “negative”. Note that capitalization matters

checkSign(0) should return “zero”. Note that capitalization matters

Right. You need to make the ternary match that format. The contents of the conditionals need to be adjusted to match the instructions.

num === 0 ? "zero"
  • This is malformed code. A ternary is
condition ? what to do if it's true : what to do if it's false

But you only have 2 of the 3.

  • This ternary is not logically necessary. If the number is not greater than zero and it’s not less than zero, it must be zero.

(Jeremy is right that you often break up long ternaries, but it’s not required by the challenge.)

console.log (checkSign(10)};

Here you have an extra space and you have replaced a ) with a }.