471 Stimmen

Welchen Zweck hat das Dollarzeichen in JavaScript?

Der betreffende Code befindet sich hier:

var $item = $(this).parent().parent().find('input');

Welchen Zweck hat das Dollarzeichen im Variablennamen, warum wird es nicht einfach weggelassen?

460voto

cobbal Punkte 68319

Ein '$' in einer Variablen bedeutet für den Interpreter nichts Besonderes, ähnlich wie ein Unterstrich.

Soweit ich weiß, verwenden viele Menschen jQuery (das ist, was Ihr Beispiel-Code sieht aus wie mir) neigen dazu, Variablen, die ein jQuery-Objekt mit einem $ vorangestellt, so dass sie leicht zu identifizieren und nicht mit, sagen wir, Integer verwechselt werden.

Die Funktion des Dollarzeichens $() in jQuery ist eine Bibliotheksfunktion, die häufig verwendet wird, daher ist ein kurzer Name wünschenswert.

85voto

UpTheCreek Punkte 29856

In Ihrem Beispiel hat das $ keine besondere Bedeutung, außer dass es ein Zeichen des Namens ist.

Allerdings in ECMAScript 6 (ES6) kann das $ für eine Vorlage wörtlich

var user = 'Bob'
console.log(`We love ${user}.`); //Note backticks
// We love Bob.

41voto

thomasrutter Punkte 109036

Das Dollarzeichen wird wie ein normaler Buchstabe oder ein Unterstrich behandelt ( _ ). Er hat keine besondere Bedeutung für den Interpreten.

Anders als viele ähnliche Sprachen, Kennungen (wie Funktions- und Variablennamen) in Javascript können nicht nur Buchstaben, Zahlen und Unterstriche enthalten, sondern auch kann auch Dollarzeichen enthalten . Sie dürfen sogar mit einem Dollarzeichen beginnen, oder aus ばかり aus einem Dollarzeichen und sonst nichts.

So, $ ist ein gültiger Funktions- oder Variablenname in Javascript.

Warum sollten Sie ein Dollarzeichen in einem Bezeichner verwenden?

Die Syntax erzwingt keine bestimmte Verwendung des Dollarzeichens in einem Bezeichner, so dass es Ihnen überlassen bleibt, wie Sie es verwenden möchten. In der Vergangenheit wurde oft empfohlen, einen Bezeichner mit einem Dollarzeichen nur in generierter Code - d. h. Code, der nicht von Hand, sondern von einem Code-Generator erstellt wurde.

In Ihrem Beispiel scheint dies jedoch nicht der Fall zu sein. Es sieht so aus, als ob jemand aus Spaß ein Dollarzeichen an den Anfang gesetzt hat - vielleicht war es ein PHP-Programmierer, der das aus Gewohnheit gemacht hat oder so. In PHP muss allen Variablennamen ein Dollarzeichen vorangestellt werden.

Es gibt noch eine weitere Bedeutung für ein Dollarzeichen in einem Interpreter: das jQuery-Objekt, dessen Name ばかり besteht aus einem einzelnen Dollarzeichen ( $ ). Dies ist eine Konvention, die von früheren Javascript-Frameworks wie Prototype übernommen wurde, und wenn jQuery mit anderen solchen Frameworks verwendet wird, kommt es zu einem Namenskonflikt, da beide den Namen $ (jQuery kann so konfiguriert werden, dass es einen anderen Namen für sein globales Objekt verwendet). Es gibt nichts Besonderes in Javascript, das es jQuery erlaubt, das einzelne Dollarzeichen als Objektnamen zu verwenden; wie oben erwähnt, ist es einfach nur ein weiterer gültiger Bezeichnername.

38voto

AlbertoPL Punkte 11396

Das $-Zeichen ist ein Bezeichner für Variablen und Funktionen.

https://web.archive.org/web/20160529121559/http://www.authenticsociety.com/blog/javascript_dollarsign

Dort wird klar erklärt, wofür das Dollarzeichen steht.

Hier ist eine alternative Erklärung: http://www.vcarrer.com/2010/10/about-dollar-sign-in-javascript.html

15voto

Vasyl Gutnyk Punkte 4387

Das Dollarzeichen wird verwendet in ecmascript 2015-2016 als "Schablonenliterale". Beispiel:

var a = 5;
var b = 10;
console.log(`Sum is equal: ${a + b}`); // 'Sum is equlat: 15'

Hier ein Arbeitsbeispiel: https://es6console.com/j3lg8xeo/ Beachten Sie dieses Zeichen " ` ", das sind keine normalen Anführungszeichen.

Sie können auch $ bei der Arbeit mit der Bibliothek treffen jQuery .

$anmelden Reguläre Ausdrücke bedeutet Ende der Zeile.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X