True Is Not Always True In JavaScript

Hello everyone?

In this article, I will try to explain the behaviour of the boolean data type of JavaScript.

We often use if statements in JavaScript to check if a value, that can be of any data type is true or false. But do you know that these value…


This content originally appeared on DEV Community and was authored by Bibek

Hello everyone?

In this article, I will try to explain the behaviour of the boolean data type of JavaScript.

We often use if statements in JavaScript to check if a value, that can be of any data type is true or false. But do you know that these values are not really true or false, rather they are considered as truthy or falsy values?

Explanation

Let's understand this with an example.

var val = "blog";
if (val) {
  console.log(true);
}

So in the above code snippet, we declared a variable val which is storing a string "blog".

In general, if statements expect a boolean expression or a boolean condition but here we are passing the variable val directly without any boolean expression.

And this if statement evaluates the value of val to true and execute its block. But why?

Why

In JavaScript, any non-zero number including the negative numbers and non-empty strings are termed as truthy values and the truthy values are translated to boolean true when evaluated in a Boolean context.

Image

So in our example, as the value of the variable val is a string with data i.e, not empty, it is considered as a truthy value which evaluates to true in the if statement condition.

And the values other than the truthy values are termed as falsy values.

falsy values in JavaScript.

  • false
  • null
  • undefined
  • 0
  • NAN
  • ''
  • ""
  • 0n
  • -0

Conversion

Convert the truthy and falsy values to boolean true or false.

You can pass the truthy or falsy value to the Boolean() and it will return true or false.

var val = "blog";
if (Boolean(val)) {
  console.log(true);
}

Or you can use the following syntax to convert it to a pure boolean value.

var val = "blog";
if (!!val) {
  console.log(true);
}

We know this truthy or falsy concept is not so impacting but it is always better to handle pure boolean values.

Originally published on blog.bibekkakati.me

Thank you for reading ?

If you enjoyed this article or found it helpful, give it a thumbs-up ?

Feel free to connect ?

Twitter | Instagram | LinkedIn

If you like my work and want to support it, you can do it here. I will really appreciate it.




This content originally appeared on DEV Community and was authored by Bibek


Print Share Comment Cite Upload Translate Updates
APA

Bibek | Sciencx (2021-05-14T19:40:08+00:00) True Is Not Always True In JavaScript. Retrieved from https://www.scien.cx/2021/05/14/true-is-not-always-true-in-javascript/

MLA
" » True Is Not Always True In JavaScript." Bibek | Sciencx - Friday May 14, 2021, https://www.scien.cx/2021/05/14/true-is-not-always-true-in-javascript/
HARVARD
Bibek | Sciencx Friday May 14, 2021 » True Is Not Always True In JavaScript., viewed ,<https://www.scien.cx/2021/05/14/true-is-not-always-true-in-javascript/>
VANCOUVER
Bibek | Sciencx - » True Is Not Always True In JavaScript. [Internet]. [Accessed ]. Available from: https://www.scien.cx/2021/05/14/true-is-not-always-true-in-javascript/
CHICAGO
" » True Is Not Always True In JavaScript." Bibek | Sciencx - Accessed . https://www.scien.cx/2021/05/14/true-is-not-always-true-in-javascript/
IEEE
" » True Is Not Always True In JavaScript." Bibek | Sciencx [Online]. Available: https://www.scien.cx/2021/05/14/true-is-not-always-true-in-javascript/. [Accessed: ]
rf:citation
» True Is Not Always True In JavaScript | Bibek | Sciencx | https://www.scien.cx/2021/05/14/true-is-not-always-true-in-javascript/ |

Please log in to upload a file.




There are no updates yet.
Click the Upload button above to add an update.

You must be logged in to translate posts. Please log in or register.