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;