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!
![Write Better JavaScript with Promises]()
You've probably heard the talk around the water cooler about how promises are the future. All of the cool kids are using them, but you don't see what makes them so special. Can't you just use a callback? What's the big deal? In this article, we'll...
![Detect DOM Node Insertions with JavaScript and CSS Animations]()
I work with an awesome cast of developers at Mozilla, and one of them in Daniel Buchner. Daniel's shared with me an awesome strategy for detecting when nodes have been injected into a parent node without using the deprecated DOM Events API.
![Create a Context Menu with Dojo and Dijit]()
Context menus, used in the right type of web application, can be invaluable. They provide shortcut methods to different functionality within the application and, with just a right click, they are readily available. Dojo's Dijit frameworks provides an easy way to create stylish, flexible context...
![MooTools Window Object Dumping]()
Ever want to see all of the information stored within the window property of your browser? Here's your chance.
The XHTML
We need a wrapper DIV that we'll consider a console.
The CSS
I like making this look like a command-line console.
The MooTools JavaScript
Depending on what you have loaded...
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!