Hacker News new | ask | show | jobs
by FuzzyDunlop 4964 days ago

    var NULL = null, TRUE = true, FALSE = false
I'm not sure I understand this. Why assign these to variables?
2 comments

I think the reason for these is for js minification. With these assignments a simple minifier will replace those three variables with a line like this:

    var a=null,b=true,c=false;
Then your minified js will be smaller because all other instances of true, false and null will be one character. Whether or not this is a reasonable optimization is debatable but in terms of pure code size it would be a win.
Couldn't you build it into the minifier rather than polluting the original source?
Yes, stuff like this shouldn't be in the source. UglifyJS and Closure compiler make this optimization, but I've used other js minifiers that did not.
That is part of the es6-collections polyfill included as part of smap.js. If I understand correctly, it is for safety (for example you cannot override the value of "true").
null, true, and false are all keywords. Isn't undefined the only one that can be redefined? (And then it's just equal to void 0.)
Yep, you're right. I forgot about that.