web-dev-qa-db-ja.com

「@」記号は、Javascript、Coffeescript、またはJqueryで特別な意味を持っていますか?

次のようなコードがあります

self = @

その後、それは@someMethodNameまたはself.someMethodNameを使用しています

@には特別な意味がありますか?

40
Noah Clark

@はJavaScript識別子の有効な文字ではありません。識別子には、$_、数字と文字のみを含めることができます。

Coffeescriptでは、 @this を意味します。

CoffeeScriptには、thisキーワードに関連するいくつかの素晴らしい機能があります。まず、CoffeeScriptは@記号をこれの省略形として使用します。たとえば、@ fooはthis.fooと同等です。次に、関数のパラメーターで@記号を使用すると、CoffeeScriptはそれらの値をオブジェクトのプロパティとして自動的に割り当てます。

編集:jQueryに関する限り、jQueryは単なるJavaScriptであるため、JavaScriptと同じ識別子ルールが適用されます。 jQueryでの@の他の使用法については、 この質問 または the docs を参照してください。

65
jbabey

@はcoffeescriptのthisのショートカットです

そう

self = @

コーヒースクリプトです:

var self = this;
21
Esailija