In continuation of my previous blog on the basic JavaScript expressions , this blog is about Falsy and Truthy values in JavaScript. When presented with a non boolean expression instead of a boolean value, JavaScript uses Truthy or Falsy values instead to determine the result. At first glance, this could be confusing and could lead to errors while scripting. var a = "someval"; var b; if (a) { // this is a truthy // Block is executed } if (b) { // b is undefined and so a falsy // Block is not executed } The Falsy Values All expressions, objects and values are Truthy by default. There are exceptions and they are called the Falsy values and are listed below: # The empty string; "" # null # undefined # The number 0 # NaN # The boolean false It gets tricky If you see the below table, you will note that it gets tricky or rather one should be a little extra careful while dealing with Falsy values. Expression Value Falsy