Welcome to the Treehouse Community

The Treehouse Community is a meeting place for developers, designers, and programmers of all backgrounds and skill levels to get support. Collaborate here on code errors or bugs that you need feedback on, or asking for an extra set of eyes on your latest project. Join thousands of Treehouse students and alumni in the community today. (Note: Only Treehouse students can comment or ask questions, but non-students are welcome to browse our conversations.)

Looking to learn something new?

Treehouse offers a seven day free trial for new students. Get access to thousands of hours of content and a supportive community. Start your free trial today.

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

Samson Chemir
Samson Chemir
6,604 Points

stuck on this question. else if ( today === 'Friday' && money < 9 ) { alert("It's Friday, but I don't have...

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' && money < 9 ) {
  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>

It looks like setting var today as Friday is triggering the first response "Time to go to the theater" because your conditional operator is the 'or' operator. Your first line of code runs, and it ignores all of the following else if cases.

Assuming you're trying to have the code bring up the alert text "It's Friday, but I don't have enough money to go out", I would say you should do two things:

1) Change all || operators to && so that both conditions MUST be true. Given that Friday is present in everything but the final else statement, the value of the var money seems to be the contingent factor.

2) You should change the fourth conditional statement to reflect money being anything less than 10. The way it stands currently, having money set to 9 will trigger the else statement, since money only needing to be less than 9 does not account for it being equal to 9.

The following code will alert "It's Friday, but I don't have enough money to go out"

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 ( money < 10 && 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.");
}

2 Answers

Antonio De Rose
Antonio De Rose
20,882 Points

try change only the operators, do not add any additional conditions.

question mentions, to consider both the value and money, the moment question, mentions as such, there you go, you have to change 3 operators listed above.

Samson Chemir
Samson Chemir
6,604 Points

Thank You Ethan Miller and others for the guidance!

Happy to help! :)