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

something went wrong

value in variable money is 9 if you preview you'll see Time to go to the theather

script.js
var money = 9;
var today = 'Friday'
if (money >=10 || 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

Shay Paustovsky
Shay Paustovsky
969 Points

Hi Hilary,

There are a few problems with the code you wrote, but you're in the correct way.

  1. There's an 'if-statement- at the beginning which doesn't belog there.

    if (money >=10 || today ==="Friday")
    

    In addition to that it won't even run because there aren't any curly-braces ' { } '.

  2. Your end result should be an alert function displaying the string "It's friday but I don't have enough money to go out."

Think of conditional statements like doors.

basic 'if-statement' :

if (condition) { 
 //Code block goes here
} else {
  // Otherwise execute this code block
}

In essence if the condition evaluates to 'true' then the 1st code block executes, otherwise the second code block executes. you can only enter 1 door at a time. never 2 doors at once.

'else-if, if-statement' :

  if (condition) {
  //Code block goes here  
} else if (2nd condition) {
  //2nd code block
} else {
  // 3rd code block
}

In this statement if the first condition fails, then you have the chance to test a different condition with 'else-if' statement. And it's a best practice to always at the end of 'if-statements' chain to provide an 'else' clause for fallback.

BACK TO THE QUESTION

You are asked to change the conditions for each statement until you reach the condition you want to execute.

var money = 9;
var today = 'Friday'
if ( money >= 100 || today === 'Friday' ) {
// The '&&' operator requires both conditions to evaluate to 'true' , the '||' requires only one.
// 'Today' is friday but our money is not >= 100, but again even if only one condition is true it will evaluate to 'true'
  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.");
}

It will be much simpler to explain it in code, and shorter ;).

I gave you the right direction but unfortunately my morals won't allow me to give you the answer, you'll have to reach it alone, but if there's something you don't understand simply tag me Shay Paustovsky and i'll help you.

HAPPY CODING

Shay

thanks