web-dev-qa-db-fra.com

Le symbole «@» a-t-il une signification particulière dans Javascript, Coffeescript ou Jquery?

J'ai du code qui ressemble

self = @

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

@ At-il une signification particulière?

40
Noah Clark

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

En écriture café, @ signifie this .

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

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

65
jbabey

@ est un raccourci pour this en coffeescript

Alors

self = @

est le coffeescript pour:

var self = this;
21
Esailija