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

teresemartyn
seal-mask
.a{fill-rule:evenodd;}techdegree seal-36
teresemartyn
Front End Web Development Techdegree Graduate 21,880 Points

I can get the code to execute the proper message - but get BUMMER message

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 < 10) { 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."); }

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 < 10) {
  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

Timothy Harrington Bourne
Timothy Harrington Bourne
6,372 Points

if ( money >= 100 || today === 'Friday' ) { alert("Time to go to the theater");

This first condition tells us that money (9) is greater than or equal to 100, Which is FALSE.

The second condition tells us that today is strictly equal to friday, which is TRUE.

This is followed by an || which is a sign that if just one condition is TRUE, then the whole statement is considered to be TRUE and you will ignore all the upcoming IF's and ELSE IF's.

However, that is not the case because the first statement is FALSE.

With the && operator, the whole statement will be considered to be FALSE, because ONE condition is FALSE. Because of this, it proceed to the next ELSE IF's to test the next conditions.

Hope this explanation helps. :)