FAQ: Conditional Statements - The if keyword

This community-built FAQ covers the “The if keyword” exercise from the lesson “Conditional Statements”.

Paths and Courses
This exercise can be found in the following Codecademy content:

Web Development

Introduction To JavaScript

FAQs on the exercise The if keyword

Join the Discussion. Help a fellow learner on their journey.

Ask or answer a question about this exercise by clicking reply (reply) below!

Agree with a comment or answer? Like (like) to up-vote the contribution!

Need broader help or resources? Head here.

Looking for motivation to keep learning? Join our wider discussions.

Learn more about how to use this guide.

Found a bug? Report it!

Have a question about your account or billing? Reach out to our customer support team!

None of the above? Find out where to ask other questions here!

3 posts were split to a new topic: Do I need a semicolon after an if statement?

2 posts were split to a new topic: Old lesson checkpoints

A post was merged into an existing topic: What condition is necessary to show that sale is true?

7 posts were split to a new topic: What condition is necessary to show that sale is true?

2 posts were split to a new topic: Why can’t I use let to reassign a variable?

2 posts were split to a new topic: Did I find a bug?

2 posts were split to a new topic: Why didn’t this work?

2 posts were merged into an existing topic: Do I need a semicolon after an if statement?

6 posts were split to a new topic: Why doesn’t my code match?

2 posts were split to a new topic: Why is my code wrong?

Hello there!

When doing the exercise on “If Statements,” I made a mistake at step 2 and typed if (true) initially, rather than if (sale). ‘Time to buy!’ appeared in the console, which didn’t surprise me as let sale = true.

After changing to sale = false, if (false) yields nothing in the console, of course. But if I type, if (true), ‘Time to buy!’ does appear in the console, even though the variable has been changed to false.

Please can someone explain why this is? I would think that if sale = false, if (true) would not yield anything in the console because there isn’t a variable that is true. (Just experimenting to see what happens off the back of my initial mistake!)

EDIT: I asked my friend and they said I created an “infinite loop” by not defining what it is that’s true. So I understand my mistake now on a simple level, but would still appreciate more detailed feedback if anyone wants to give it :slight_smile:

if (true) {

}

is an absolute condition so there is no way to change its state. Such a loop requires a breaking condition within to code body…

if (true) {
    //  some code creates a state

    if (state === null) {
        break
    }
}

null in the above is simply a placeholder for example.

It is late today and I am bit wrecked so thats probably why I read “a” as “o” in the code but having two different fonts for code and description is not helping.