Batman.js vs Knockout.js
blog.erlware.org
blog.erlware.org
In all these frameworks that add those features, they forgot to copy two that I personally love to death. data bind attributes can contain arbitrary javascript, and creating new types of data bindings is insanely trivial.
this.User = ...
but what use does it have? class User
it would compile to: (function() {
User = (function() {
function User() {}
return User;
})();
}).call(this);
while class @User
would compile to: (function() {
this.User = (function() {
function User() {}
return User;
})();
}).call(this);
ensuring that User is available from any file (since the top-level this === window in the browser).