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

Penelope Baptiste
Penelope Baptiste
2,353 Points

On last challenge, Java Basic. Got to the code challenge quiz. Total diffferent than dave. got passed that now,

money and Friday ?? what clue please

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

Hey Penelope,

What this challenge wants you to do is get used to comparison operators (i.e. ===, !==, etc) and logic operators (i.e. ||, &&, etc.). I'm sure you know now what each of those mean. If you don't, you should go back and watch the videos again and familiarize yourself with them before proceeding.

So, with that in mind, the logic in the "if/else-if" parts of this challenge aren't going to produce the output we want. This is because right now it's using || (or) logic. Since the variable today is equal to "Friday", the very first if-statement is going to fire off. And the same goes for the rest of the else-if's. It's going to fire off because only one condition needs to be true in order to execute the code.

In order to get around that, we should change || to && (and) this way the code only goes off if money is greater than equal to a certain number and the day is Friday. The last else-if only needs to check if today is Friday only because it is for all other values of money not specified above, which is what we want because money is only 9 bucks (I feel the pain myself). So, we need to change the !== (not equal to) to === (equal to), and that solves 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 ( 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.");
}