I have some code that looks like
self = @
and then later on it's using @someMethodName or self.someMethodName
Does @ have some special meaning?
I have some code that looks like
self = @
and then later on it's using @someMethodName or self.someMethodName
Does @ have some special meaning?
 
    
     
    
    @ is not a valid character for a javascript identifier. Identifiers may only contain $, _, digits and letters.
In coffeescript, @ means this.
CoffeeScript has a few nice features related to the this keyword. First, CoffeeScript uses the @ symbol as shorthand for this.. For example, @foo is equivalent to this.foo. Second, if you use the @ symbol in the parameters of a function, CoffeeScript will automatically assign those values as properties of the object.
Edit: As far as jQuery is concerned, the same identifier rules as javascript apply since jQuery is just javascript. For other uses of @ in jQuery, see this question or the docs.
@ is shortcut for this in coffeescript
So
self = @
is coffeescript for:
var self = this;
 
    
    Since the design of CoffeeScript a couple of years have passed and not everything which was proposed in CoffeeScript made it into ECMA script. Instead of being used as a shortcut for this, it's proposed to be used for decorators.
