Unicode JavaScript Variables and Functions
We all get a kick out of unicode symbols, as we all saw in my Unicode CSS Classes post, and just as we can use them for CSS classes, we can use them for JavaScript variables and functions as well! Let's say you want to shave a few bytes of post-minified JavaScript byes by setting false equal to a variable. Why not do so by using a unicode variable?
var ಠ_ಠ = false;
if(someVar === ಠ_ಠ) { // If someVar is false...
// ...
}
Hilarious. The evil eyes signal a negative result. What about saving a few byes on true? The Beatles once said that "All You Need is Love", so let's use a heart:
var ❤ = true;
if(someVar === ❤) {
// ...
}
You can do the same with function names. Functions can be named after unicode symbols:
function ಠ(arg) {
// ...
}
Of course all of this is a bit ... insane, and you should never use unicode symbols, but nonetheless it's possible. Imagine starting a new job and seeing those symbols as meaningful variables -- you'd quit immediately! Hilarious!
![7 Essential JavaScript Functions]()
I remember the early days of JavaScript where you needed a simple function for just about everything because the browser vendors implemented features differently, and not just edge features, basic features, like addEventListener and attachEvent. Times have changed but there are still a few functions each developer should...
![Conquering Impostor Syndrome]()
Two years ago I documented my struggles with Imposter Syndrome and the response was immense. I received messages of support and commiseration from new web developers, veteran engineers, and even persons of all experience levels in other professions. I've even caught myself reading the post...
![MooTools Fun with Fx.Shake]()
Adding movement to your website is a great way to attract attention to specific elements that you want users to notice. Of course you could use Flash or an animated GIF to achieve the movement effect but graphics can be difficult to maintain. Enter...
![Table Cell and Position Absolute]()
If you follow me on Twitter, you saw me rage about trying to make position: absolute work within a TD element or display: table-cell element. Chrome? Check. Internet Explorer? Check. Firefox? Ugh, FML. I tinkered in the console...and cussed. I did some researched...and I...
I could see this improving minification when processing files with many variables/methods in the same scope (if they don’t use it already, I’m not sure).
Unicode characters are useless for minification, each unicode character uses 2 bytes instead of 1 in utf8. Also, there is no reason not to use unicode in variable names if you properly declare encoding in your html.
Actually, some characters take up to 4 bytes, not just 2. The Kannada letter TTHA in the example rakes 3 bytes for example, so “false” was minified from 5 bytes to 7 :P
lol, it’s a funny joke. but I think it may be realize if some protocol is developed in the future. so cool!