Truthy and Falsy Expressions

In JavaScript, Truthy expressions evaluate to boolean true value and Falsy expressions evaluate to boolean false value. Unlike other programming languages, truthy and falsy values are not limited to boolean data types and comparisons. They can have many other forms. Let us learn what makes an expression truthy …

angular-typescript

In JavaScript, Truthy expressions evaluate to boolean true value and Falsy expressions evaluate to boolean false value.

Unlike other programming languages, truthy and falsy values are not limited to boolean data types and comparisons. They can have many other forms.

Let us learn what makes an expression truthy or falsy in JavaScript.

1. Falsy Expressions

There are total 6 falsy values/expressions in JavaScript. We will use testTruthyFalsy() function to check if a given value is truthy or falsy.

testTruthyFalsy Fuction
function testTruthyFalsy (val)
{
    return val ? console.log('truthy') : console.log('falsy');
}
Falsy Value/Expression Description
boolean ‘false Boolean false is false.

testTruthyFalsy (false);  //Prints 'falsy'
Empty string i.e. '' Any empty string is evaluated to false.

testTruthyFalsy (''); //Prints 'falsy'
undefined Any undefined variable is equal to false.

var my_var = undefined;
testTruthyFalsy (my_var); //Prints 'falsy'
null Any null variable is equal to false.

var my_var = null;
testTruthyFalsy (my_var); //Prints 'falsy'
NaN Any numerical expression with result in NaN (not a number) is equal to false.

testTruthyFalsy (NaN);    //Prints 'falsy'
Number zero i.e. +0 or -0 Any numerical expression with result in zero is equal to false.

testTruthyFalsy ( 2 - 2 );    //Prints 'falsy'
testTruthyFalsy ( 0 );  //Prints 'falsy'

2. Truthy Expressions

Any expression or value, other than the above listed falsy values, is considered truthy.

testTruthyFalsy Fuction
function testTruthyFalsy (val)
{
    return val ? console.log('truthy') : console.log('falsy');
}
 
testTruthy(true);           // truthy
testTruthy(false);          // falsy
testTruthy(new Boolean(false));   // truthy (object is always true)
  
testTruthy('');           // falsy
testTruthy('Packt');        // truthy
testTruthy(new String(''));     // true (object is always true)
  
testTruthy(1);            // truthy
testTruthy(-1);           // truthy
testTruthy(NaN);          // falsy
testTruthy(new Number(NaN));    // truthy (object is always true)
  
testTruthy({});           // truthy (object is always true)
  
var obj = { name: 'John' };
testTruthy(obj);          // truthy
testTruthy(obj.name);         // truthy

Happy Learning !!

Weekly Newsletter

Stay Up-to-Date with Our Weekly Updates. Right into Your Inbox.

Comments

Subscribe
Notify of
3 Comments
Most Voted
Newest Oldest
Inline Feedbacks
View all comments

About Us

HowToDoInJava provides tutorials and how-to guides on Java and related technologies.

It also shares the best practices, algorithms & solutions and frequently asked interview questions.