Truthy Values in JavaScript

Updated onbyAlan Morel
Truthy Values in JavaScript

JavaScript is a loosely typed language, meaning that variables can be created and changed to any type.

Because of this, JavaScript offers you two ways to compare two values to each other, strict and non-strict equality.

The way non-strict equality works is that JavaScript will attempt to convert both values to the same type before comparing them, in a process called type coercion.

Because of type coercion, every single value in JavaScript will either be truthy or falsy.

In this post, we'll dive deeper into truthy values in JavaScript and how they work.

Truthy Values

As mentioned before, a truthy value is a value that resolves to true when type coerced.

Every single value in JavaScript is truthy except for the following values:

  • 0
  • false
  • null
  • undefined
  • NaN
  • ''
  • 0n

If your value is anything other than these 7 values, it is truthy.

Checking for Truthy Values

If you're not sure if your value is truthy or not, an easy way to check if the value is truthy is to use the !! operator.

The reason this works is that JavaScript will convert the value to a boolean when you use the ! operator, then convert it back to the correct boolean value with the second !.

Here's how to check if a value is truthy:

const isTruthy = !!value;


In this post, we learned about what truthy values are in JavaScript and how to check if a value is truthy.

Most values are truthy, with an exception of those 7 values above.

Thanks for reading!

To learn more about web development, founding a start-up, and bootstrapping a SaaS, follow me on X!
Copyright © 2017 - 2024 All rights reserved. Made with ❤ in NY.