Skip to main content


Showing posts with the label falsy

Falsy JavaScript

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

JavaScript - Undefined Infinity or Not a Number?

Had a heated discussion with a friend about a particular expression and so this blog with ready references for some basic JavaScript expressions. Expression Value Infinity Anything beyond +/-1.7976931348623157e+308 typeof Infinity "number" typeof NaN "number" typeof undefined "undefined" typeof null "object" Infinity + Infinity Infinity Infinity - Infinity NaN -Infinity + Infinity NaN Infinity / Infinity NaN Infinity * Infinity Infinity Infinity * 1 Infinity Infinity / 1 Infinity Infinity / 0 Infinity Infinity * 0 NaN Infinity - 1e308 Infinity Infinity - 1e309 NaN -Infinity + 1e308 -Infinity -Infinity + 1e309 NaN Infinity / 1e308 Infinity 1 * "a" NaN 1 + NaN NaN 1 * NaN NaN undefined + 1 NaN undefined * 1 NaN undefined + Infinity NaN undefined * Infinity NaN undefined + NaN NaN undefined * NaN NaN undefined + null NaN undefined * null NaN 1 + null 1 1 * null 0 null + null 0 null * null 0 Infinity + null Infinity Infinity * null NaN NaN