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 trialdaphnee jeune
2,183 PointsNot sure of my mistake in here either. Please help :'(
I understand that || is the or statement and using it would make the last "else if" true because today === Friday. So I used && to negate it altogether but that did not work
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.");
}
<!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
Jennifer Nordell
Treehouse TeacherHi there! You're actually doing terrific and you changed the logic appropriately, but only in one place. We want it to be so that we only go out when it's Friday and have enough money. If we have 1000, but it's Monday, we still don't want to go out. The logic you have where you changed it should be applied to all the previousif/else if
statements as well.
Hope this helps!
Elijah Quesada
Front End Web Development Techdegree Graduate 32,965 PointsThe issue is with your logical operators.
When you use the operator "||" you are saying only one side has to be true in order for the code to run. In your case, the first line of code will always run because the variable today === "Friday".
However, if you want both sides to be true you would use the && logical operator.
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 >= 9 && 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.");
}