Truthyness i dont get that help me

I don’t know why the final output of the truthyness exercise is 1

1 Like

In js, truthy is anything that when put into a comparator, will evaluate to true. 1 is truthy. If you do 1==true, it will eval to true.

1 Like

I don’t get this yet

Hi SIMON_DAVILA,

It looks like you don’t understand the truthiness. Let me explain you.

The if statement can be either true or false depending on your test.

let x = 5;
if (x === 5) {
    console.log('true!');
}

Since the test is always true, the code block of an if statement will run.

But what if we use an if statement that does not make a comparison like this?

let x = 5;
if (x) {
    console.log('true!');
}

The code block of an if statement will also run. Weird!

This code always work because JS can be either truthy or falsy.

In other words, there are 6 falsy values:

  • 0: The number that is neither positive nor negative.
  • false: The boolean type that is opposite to true.
  • '': A string that has a length of 0, and no text inside the string.
  • NaN: Stands for Not a Number. Typically caused by some math errors.
  • undefined: A data type before it is defined.
  • null: A data type that can be assigned to a blank value.

All others are truthy.

Thanks!
Doge :smile:

1 Like

But my initial question was why the output in this example is one?

Hi SIMON_DAVILA,

Remember that 1 is a truthy value. When you check that 1 is equal to true, it will be evaluated to true.

For 0, 0 is a falsy (often called falsey) value. Once you check that 0 is equal to false, it will evaluate to false.

Hope this helps!
Doge :smile:

2 Likes