Name, question and phrase not showing in Magic Eight Ball project

Hi everyone, here’s my code for this project

let userName = "Sandy";
userName ? console.log("Hello, ${userName}!") : console.log("Hello!");
let userQuestion = "Will the orchid flower next week?";
console.log("${userName} has asked - ${userQuestion}");
let randomNumber = Math.floor(Math.random() * 8);
console.log(randomNumber);
let eightBall = "";
switch (randomNumber) {
  case 0:
    eightBall = "It is certain";
    break;
  case 1:
    eightBall = "It is decidedly so";
    break;
  case 2:
    eightBall = "Reply hazy try again";
    break;
  case 3:
    eightBall = "Cannot predict now";
    break;
  case 4:
    eightBall = "Do not count on it";
    break;
  case 5:
    eightBall = "My sources say no";
    break;
  case 6:
    eightBall = "Outlook not so good";
    break;
  case 7:
    eightBall = "Signs point to yes";
}
console.log("The Magic Eight Ball says, ${eightBall}");

And the result comes out like this -
Hello, ${userName}!
${userName} has asked - ${userQuestion}
2
The Magic Eight Ball says, ${eightBall}

Can someone go through my codes to see why the name, question and the eightBall phrase aren’t showing?

Many thanks,

S

Double and single quotes treat every character as printable. Only when we use the backticks can JS interpret the template literals interpolated into our string.

console.log(`${userName} has asked - ${userQuestion}`);

thanks for your reply, I thought ’ and " are interchangeable and ’ and ` the same, of course they aren’t.

1 Like