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

Ivo Vieira
Ivo Vieira
6,518 Points

I can't complete the "Super Conditional Challenge" as I'm always getting an error message.

The goal of the "Super Conditional Challenge" is to fix the script in order for the string " "It's Friday, but I don't have enough money to go out" to be outputted. The changes that I make outputs the desired string but, I cannot advance as I'm always getting the error message "Bummer: Hmm. Looks like there is at least one logical OR operator -- that's the || symbols. Those test if just one of the conditions are true.". I tried with different browsers.

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>

1 Answer

Ivo Vieira
Ivo Vieira
6,518 Points

I got what was wrong. I guess it was an interpretation issue from my part. Despite the code above outputs the same string than the one bellow, apparently I needed to use && instead of || and, therefore, always test both variables, 'money' and 'today'. Thank you anyway for someone who was going to help!

The code that let me advance the challenge:

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.");
}
Austin Whipple
Austin Whipple
29,712 Points

Hi, Ivo: Thanks so much for updating your question with your own solutions and congrats on working through it! I've marked your answer as "Best Answer" and formatted it slightly to improve the look of your code block.