Objektschlüssel mit und ohne Anführungszeichen: Ein Unterschied im Erscheinungsbild
Bei der Arbeit mit JavaScript-Objekten können Sie auf Objektschlüssel mit oder ohne Anführungszeichen stoßen . Es ist eine häufige Frage, ob es einen Unterschied gibt zwischen:
obj = {'foo': 'bar'}; // With quotes
und
obj = {foo: 'bar'}; // Without quotes
Die Antwort: Kein signifikanter Unterschied
In den meisten Fällen gibt es keinen signifikanten Unterschied zwischen Schlüsseln mit und ohne Anführungszeichen. JavaScript erlaubt Schlüssel ohne Anführungszeichen, solange es sich um gültige JavaScript-Bezeichner handelt.
Ausnahmen: Verwendung von Sonderzeichen in Schlüsseln
Wenn Sie jedoch Sonderzeichen in Ihren Schlüsseln verwenden müssen B. Bindestriche (-), müssen Sie Anführungszeichen verwenden.
JSON Anforderung
Es ist wichtig zu beachten, dass das JSON-Datenaustauschformat doppelte Anführungszeichen um Schlüssel erfordert. Obwohl dies keinen Einfluss auf die Funktionalität von JavaScript-Objekten hat, ist es eine Überlegung, wenn Sie planen, Daten mit einem System auszutauschen, das JSON verwendet.
Beispiel
Betrachten wir Folgendes Folgender Code:
var obj1 = {'foo': 'bar', 'baz-1': 'qux'}; var obj2 = {foo: 'bar', 'baz-1': 'qux'};
Sowohl obj1 als auch obj2 erstellen Objekte mit denselben Schlüsseln und Werten. Wenn Sie jedoch versuchen, obj1 in eine JSON-Zeichenfolge zu konvertieren, wird aufgrund des Schlüssels ohne Anführungszeichen mit einem Bindestrich ein Fehler auftreten.
Zusammenfassend lässt sich sagen, dass es zwar normalerweise keinen funktionalen Unterschied zwischen Schlüsseln mit und ohne Anführungszeichen gibt, Es wird empfohlen, Anführungszeichen für Schlüssel zu verwenden, die Sonderzeichen enthalten, oder wenn es um den JSON-Datenaustausch geht.
Das obige ist der detaillierte Inhalt vonMachen in Anführungszeichen gesetzte und nicht in Anführungszeichen gesetzte Objektschlüssel in JavaScript einen Unterschied?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!