sorry for being a n00b but what's the goal of the "class @User" syntax?
I have a cursory knowledge of CS and I'd assume that gets desugared to something like
By default, CS compiles with a closure per file to prevent local variables from leaking to the global scope. So the purpose is to ensure the class is exported. If you put the following in a user.coffee file:
class User
it would compile to:
(function() {
User = (function() {
function User() {}
return User;
})();
}).call(this);
CoffeeScript wraps its output in an anonymous function, so to create a global var you have to explicitly assign it as "window.varname" or, at the top level, "this.varname".