Welcome to the Treehouse Community

Want to collaborate on code errors? Have bugs you need feedback on? Looking for an extra set of eyes on your latest project? Get support with fellow developers, designers, and programmers of all backgrounds and skill levels here with the Treehouse Community! While you're at it, check out some resources Treehouse students have shared here.

Looking to learn something new?

Treehouse offers a seven day free trial for new students. Get access to thousands of hours of content and join thousands of Treehouse students and alumni in the community today.

Start your free trial

JavaScript JavaScript Basics (Retired) Making Decisions with Conditional Statements Super Conditional Challenge

Why my answer is wrong ?

Something's wrong with this script. The value in the variable money is only 9. But if you preview this script you'll see the "Time to go to the theater" message. Fix this script so that it correctly tests the money and today variables and prints out the proper alert message: "It's Friday, but I don't have enough money to go out"

// I already gave rise to alert"It's Friday, but I don't have enough money to go out" but why script error ?

script.js
var money = 9;
var today = 'Friday';

if (money === 9 || today === 'Friday') {
  alert("It's Friday, but I don't have enough money to go out");    
} else if ( money >= 50 || today === 'Friday' ) {
  alert("Time for a movie and dinner");    
} else if ( money > 10 || today === 'Friday' ) {
  alert("Time for a movie");   
} else if ( money >= 100 || today === 'Friday'  ) {
  alert("Time to go to the theater");   
} else {
  alert("This isn't Friday. I need to stay home.");
}
index.html
<!DOCTYPE HTML>
<html>
<head>
  <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
  <title>JavaScript Basics</title>
</head>
<body>
<script src="script.js"></script>
</body>
</html>
if (money === 9 && today === 'Friday')

You are checking that BOTH conditions are true

1 Answer

Steven Parker
Steven Parker
231,275 Points

The challenge doesn't want you to re-arrange the testing or message order, but to fix each test to be appropriate to the message it produces. As Kristian pointed out, one of the changes you will need to make is where the intention of the test is to check both conditions (with the AND operator "&&"), but the code is using OR ("||") instead.

Hint: You can expect to make at least one change to every conditional expression.