Does the '@' symbol have special meaning in Javascript, Coffeescript or Jquery?

前端 未结 3 533
北海茫月
北海茫月 2020-12-17 07:59

I have some code that looks like

self = @

and then later on it\'s using @someMethodName or self.someMethodName

Does @ have some sp

相关标签:
3条回答
  • 2020-12-17 08:07

    @ is shortcut for this in coffeescript

    So

    self = @
    

    is coffeescript for:

    var self = this;
    
    0 讨论(0)
  • 2020-12-17 08:12

    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.

    0 讨论(0)
  • 2020-12-17 08:28

    @ 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.

    0 讨论(0)
提交回复
热议问题