2013-01-03 9 views

risposta

51

@ non è un carattere valido per un identificatore javascript. Gli identificatori possono contenere solo $, _, cifre e lettere.

In coffeescript, @ means this.

CoffeeScript ha alcune caratteristiche interessanti relative a questa parola chiave. Innanzitutto, CoffeeScript usa il simbolo @ come abbreviazione di questo .. Per esempio , @foo è equivalente a this.foo. In secondo luogo, se si utilizza il simbolo @ nei parametri di una funzione, CoffeeScript assegnerà automaticamente tali valori come proprietà dell'oggetto all'oggetto .

Modifica: Per quanto riguarda jQuery, le stesse regole di identificatore come javascript si applicano poiché jQuery è solo javascript. Per altri usi di @ in jQuery, vedere this question o the docs.

+8

Vale la pena aggiungere che '@ foo' significa' this.foo' in CoffeeScript. –

+0

@TrevorBurnham dice che nella citazione dai documenti. – jbabey

+0

Può anche valere la pena notare che '=>' è un po 'strano creare confusione quando stai provando a leggere CoffeeScript di qualcun altro, imho. –

14

@ è scorciatoia per this in CoffeeScript

Così

self = @ 

è CoffeeScript per:

var self = this; 
+1

che al giorno d'oggi, per sicurezza, dovrebbe essere 'const self = @';) – GrayedFox

Problemi correlati