24 03 2015
Using = null; instead of ;
How often have you done this in you code?
var zork;
Instead of this?
var zork = null;
While it might be used to accomplish the same result, the code above has some hidden pitfall in it. Image situation that you always use the code above, also inside your for statements.
for (code) { var zork; if (zork) { } }
If you wouldn’t be careful enough, you might trap in to unwanted situation. Look at the code below:
function tester(makeit) { var length = 5; for (var i=0,l=length;i<l;i++){ var zork; if (makeit && 2 == i) { zork = 'Defining zork ' + i; } console.log(i + ':' + zork); } }; tester(true);
Instead of nulling `zork` variable on every iteration, old value stays untouched, which can bring unexpected situation. Like checking for null value of the `zork` and instead of getting the correct result like:
0:null VM327:9 1:null VM327:9 2:Defining zork 2 VM327:9 3:null VM327:9 4:null
You will get:
0:undefined VM254:9 1:undefined VM254:9 2:Defining zork 2 VM254:9 3:Defining zork 2 VM254:9 4:Defining zork 2
Always try to define your variables on top and be explicit, if you want to null it inside loop, then null it.
Vim script for Node.js and ‘gf’ “git root” – root folder of the git repository
That’s more not knowing that all `var`s are function scope, not block scoped.
Think Functionally 😉
(Though nowadays `let` and `const` are all the rage, which have benefits but don’t replace `var`: https://davidwalsh.name/for-and-against-let)