The ES3 specification says: > The dollar sign ($) and the underscore (_) are permitted anywhere in > an identifier. The dollar sign is intended for use only in > mechanically generated code.
The ES5 specification removes the last part about "intended for use only in mechanically generated code", but I still think it's a good idea to adhere to that, in a way. $ is popularized as a short function name to find an element in the DOM, which is probably the reason that last part was removed, but in general I think it's good practice to stick with the meaning ES3 gives to $-variables/properties and to not use them yourself. As for the self vs. that discussion, it's not that hard to scope your code properly, and it's not that hard to notice you're referencing the window object if you don't, imo. So that is a non-issue for me, and since 'self' is similar to 'this' in meaning, I prefer self. Plus: it's the MooTools convention.
