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

Conditional Statement Challenge

Not only do I not know how to answer this question, I don't even understand the question. I've tried every logical solution, in my opinion, and can not get past this challenge. Please help!

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

if ( money >= 100 || today === 'Friday' ) {
  alert("Time to go to the theater");    
} 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 ( today !== 'Friday' ) {
  alert("It's Friday, but I don't have enough money to go out");   
} 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>

2 Answers

Steven Parker
Steven Parker
229,744 Points

Before you change anything, if you run the script (use the "Preview" button), the result is "Time to go to the theater". So looking at the code, you know that the first test was "true". Examining that line:

if ( money >= 100 || today === 'Friday' ) {

you can see that the test will be true if money is at least 100 or if today is Friday. But based on what the challenge says, the intention was to see if the money was enough and today is Friday.

So to fix this line, you would need to change the logic operator that combines the two expressions. Then check for other similar errors in the script that need fixing.

I'm betting you can figure it out now without an explicit spoiler. Add a comment if you still need help.

Geovanie Alvarez
Geovanie Alvarez
21,500 Points

I think you have to change the || to && and the !== to ===

var money = 9;
var today = 'Friday'

if ( money >= 100 && today === 'Friday' ) {
  alert("Time to go to the theater");    
} 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 ( today === 'Friday' ) {
  alert("It's Friday, but I don't have enough money to go out");   
} else {
  alert("This isn't Friday. I need to stay home.");
}