Setting Default Variable Value in JavaScript

Often, there are conditions where we need to provide a default value of a variable if it is undefined. As a case study, we will take up the situation, where we are passing a Boolean value to function and if the input is true, some action has to be taken. In case someone does not pass any value, the input is assumed to be true.

The Ordinary Code

var foo = function (param) {
    var actionable = param;

    if (param === undefined) {
        actionable = true;
    }

    if (actionable) {
        // do something
    }

    if (actionable) {
        // again do something
    }
};

Another way to do the above in case we do not intend to re use what action we took is to simply do a composite check of the parameter.

var foo = function (param) {
    if (param === undefined || param === true) {
        // do something
    }
};

The Sexier Code

Nevertheless, there is always a scope to write this code in a more compact way.

var foo = function (param) {
    var actionable = param === undefined && 
            true || param;

    if (actionable) {
        // do something
    }
};

The very cryptic first two lines of the above code does the trick of the whole if-block.

6 Replies to “Setting Default Variable Value in JavaScript”

  1. naice…

    works for javascript….do you have something similar for vbscript?

    aah the pains of coding in an outdated language 🙁

  2. Are you serious?! That’s sexy?? I’d rather call that unintelligible spaghetti. Either you have to know what it means or wrap your head around that complicated statement, which makes this VERY error-prone. I hope nobody actually uses this. Yuck.

Leave a Reply