Poll: JavaScript Var Declaration

By  on  

Hardcore developers of any language are generally very opinionated when it comes to the specifics of how they code. In the JavaScript community, one subject of heated debate is whether to use the `var` keyword once and separate declarations by line:

var one = 1,
	two = 2,
	three = 3;

or use the `var` keyword many times, one declaration per line:

var one = 1;
var two = 2;
var three = 3;

The question is...what do you prefer?

Recent Features

  • By
    Create a CSS Flipping Animation

    CSS animations are a lot of fun; the beauty of them is that through many simple properties, you can create anything from an elegant fade in to a WTF-Pixar-would-be-proud effect. One CSS effect somewhere in between is the CSS flip effect, whereby there's...

  • By
    CSS @supports

    Feature detection via JavaScript is a client side best practice and for all the right reasons, but unfortunately that same functionality hasn't been available within CSS.  What we end up doing is repeating the same properties multiple times with each browser prefix.  Yuck.  Another thing we...

Incredible Demos

  • By
    Duplicate the jQuery Homepage Tooltips Using MooTools

    The jQuery homepage has a pretty suave tooltip-like effect as seen below: Here's how to accomplish this same effect using MooTools. The XHTML The above XHTML was taken directly from the jQuery homepage -- no changes. The CSS The above CSS has been slightly modified to match the CSS rules already...

  • By
    jQuery Wookmark

    The first thing that hits you when you visit Pinterest is "Whoa, the columns are the same width and the photos are cut to fit just the way they should."  Basic web users probably think nothing of it but as a developer, I can appreciate the...

Discussion

  1. I voted for the single var declaration, preferably with all the variable names and equal signs vertically aligned, looks much readable for me.

  2. There’s a precise reason why I prefer multiple variable declaration, and it is matching. It is much easier to do matching over multiple `var` declarations than to consider a case where you got them mixed up :)
    You can still solve that, but it really doesn’t make much sense to be inconsistent.

  3. andy

    ideally you use both. use one var for making a list of simple variables. if you need to declare a function with var, I usually prefer to do it on a new line with its own var. declaring a function in a var list means it has to be extra indented, which sucks, so i’m ok using an extra var to declare a big private function

  4. Rolf

    Switched from multiple to single a few years ago

  5. I voted the single declaration, because i used that from the beginning, and IMHO it is more easier than the other.
    Sorry for my bad english :D

  6. Both are same working but, single var statement is preferable from my point of view.

  7. piotr

    I’m using one var declaration for multiple variables, all but first intended by tab. Most IDEs are configured by default that tab is 4 chars wide, so all variables are seamlessly aligned.

    I’m playing with idea of leaving out semicolon at the end so it’s easier to add new variables.

    I try to put var statement at the top of function, so while coding inside I can always peek for hints in the top. Sometimes I predefine type.

    /**
     * Method description
     *
     * @param  {String}  text
     * @return  {String}  Manipulated input string
     */
    onSuccess: function( text )
    {
    	var wtf = true,
    		// Comment for timestamp if variable name is confusing
    		timestamp = new Date(),
    		output = ''
    
    
    	output = text + ' on ' + timestamp.toString();
    
    	if ( wtf ) 
    		output += ' , but wtf?';
    
    
    	return output;
    }
    
  8. piotr

    oh great, all intends are lost :[
    Method body should be intedend by 1 tab, variables after var and output += by 2 tabs

  9. Alex

    I use multiple var declaration because it makes my code more readable :)

  10. I voted for multiple var declarations. Its a personal preferance – I have no reason. However I wouldn’t mix or match as that would make the code less readable.

  11. As i work in different projects, with different tab settings, always assuming a tab width of 4 chars isnt an option. In those cases, using a single var makes the code look sloppy, as it does to me in the example on this website.
    Using multiple vars makes it more consistent across different editor settings and far more readable in my opinion.

  12. I voted for multiple var declarations, but i prefer write coffeescript ;)

  13. Here you will find a great article regarding this long discussion between javascript developers https://twitter.com/alexborbely/status/209565943150546945

  14. kiwi

    I’ve voted for multiple declaration but it really depends on the situation, for example:

    var a = 1;
    var b = 2;

    but what if I want to set a and b with the same value?

    var a = b = 3; //maybe not very clear but in resetting values this is a much faster option

    var start = end = temporary = finished = null;

    Also when I have just to declare new variables but without setting any value I siply do the following:

    var a, b, c , d;

    What I can’t stand is the colomn on the new line eg:

    var a = 1
    , b = 2
    , c= 3;

    For this reason I think it depends on the situation but multiple declaration is the way to go :)

  15. kiwi

    Holy crap, what happened to the intends….

  16. Stephen Mathieson

    Coding style aside, one var declaration is actually the way JavaScript works.

    https://developer.mozilla.org/en-US/docs/JavaScript/Reference/Statements/var

  17. Harpreet Singh Sahota

    Please share poll results too. :)

Wrap your code in <pre class="{language}"></pre> tags, link to a GitHub gist, JSFiddle fiddle, or CodePen pen to embed!