Le symbole '@' a-t-il une signification particulière en Javascript, Coffeescript ou Jquery?

J'ai un code qui ressemble à

self = @

Et plus tard, il utilise @someMethodName ou self.someMethodName

@ a-t-il une signification particulière?

31
demandé sur Noah Clark 2013-01-03 20:37:23

2 réponses

@ n'est pas un caractère valide pour un javascript identificateur. Les identificateurs ne peuvent contenir que$, _, chiffres et lettres.

En coffeescript, @ moyens this.

CoffeeScript a quelques fonctionnalités intéressantes liées à ce mot clé. Tout d'abord, CoffeeScript utilise le symbole @ comme raccourci pour cela.. Pour exemple, @foo est équivalent à ceci.foo. Deuxièmement, si vous utilisez le @ symbole dans les paramètres d'une fonction, CoffeeScript automatiquement attribuer ces valeurs en tant que propriétés de l'objet.

Edit: en ce qui concerne jQuery, les mêmes règles d'identifiant que javascript s'appliquent puisque jQuery est juste javascript. Pour d'autres utilisations de @ dans jQuery, voir cette question ou les docs.

55
répondu jbabey 2018-02-20 08:49:53

@ est un raccourci pour this en coffeescript

Donc

self = @

Est coffeescript pour:

var self = this;
16
répondu Esailija 2013-01-03 16:40:20