'@'符号在Javascript,Coffeescript或Jquery中有特殊含义吗?

Noa*_*ark 38 javascript jquery coffeescript

我有一些看起来像的代码

self = @
Run Code Online (Sandbox Code Playgroud)

然后使用@someMethodName或self.someMethodName

@有一些特殊含义吗?

jba*_*bey 64

@不是javascript标识符的有效字符.标识符可能仅包含$,_,数字和字母.

在coffeescript中,@意思是this.

CoffeeScript有一些与this关键字相关的好功能.首先,CoffeeScript使用@符号作为此的简写.例如,@ foo等同于this.foo.其次,如果在函数的参数中使用@符号,CoffeeScript会自动将这些值指定为对象的属性.

编辑:就jQuery而言,与javascript相同的标识符规则适用,因为jQuery只是javascript.对于@jQuery的其他用途,请参阅此问题文档.

  • 值得补充的是,@ foo`在CoffeeScript中的含义是"this.foo". (12认同)

Esa*_*ija 21

@thiscoffeescript的捷径

所以

self = @
Run Code Online (Sandbox Code Playgroud)

是coffeescript:

var self = this;
Run Code Online (Sandbox Code Playgroud)

  • 现在,为安全起见,应该是`const self = @`;) (3认同)