Heim >Web-Frontend >js-Tutorial >In Anführungszeichen gesetzte und nicht in Anführungszeichen gesetzte Objektschlüssel in JavaScript: Was ist der semantische Unterschied?

In Anführungszeichen gesetzte und nicht in Anführungszeichen gesetzte Objektschlüssel in JavaScript: Was ist der semantische Unterschied?

Patricia Arquette
Patricia ArquetteOriginal
2025-01-04 08:35:34876Durchsuche

Quoted vs. Unquoted Object Keys in JavaScript: What's the Semantic Difference?

Anführungszeichen in Objektschlüsseln: Ein Unterschied in der Semantik?

In JavaScript können Objekteigenschaften mithilfe von Schlüsseln mit oder ohne Anführungszeichen definiert werden. Auch wenn dies wie ein kleiner Unterschied erscheinen mag, führt es doch zu einer subtilen Änderung im Verhalten des Eigenschaftszugriffs.

Eigenschaften mit Anführungszeichen vs. ohne Anführungszeichen

  • Mit Anführungszeichen: Wenn der Schlüssel in Anführungszeichen (sowohl einfache als auch doppelte) eingeschlossen ist, wird er zu einer Zeichenfolge. Dies bedeutet, dass sich der Eigenschaftszugriff mit Punktnotation (z. B. obj.foo) und Klammernotation (z. B. obj["foo"]) identisch verhält.
  • Ohne Anführungszeichen: Wenn der Schlüssel Wird nicht in Anführungszeichen gesetzt, wird es zu einem Bezeichner. Das bedeutet, dass der Eigenschaftszugriff mit Punktnotation nur für gültige JavaScript-Bezeichner funktioniert. Wenn der Schlüssel Zeichen enthält, die in Bezeichnern nicht zulässig sind (z. B. „-“, „&“, „%“), muss die Klammernotation verwendet werden.

Beispiel

Betrachten Sie das folgende Beispiel:

obj1 = {'foo': 'bar'};
obj2 = {foo: 'bar'};

In diesem Fall haben sowohl obj1 als auch obj2 den gleichen Schlüsselwert Paar, aber auf die Eigenschaft kann anders zugegriffen werden:

console.log(obj1.foo); // 'bar'
console.log(obj2.foo); // ReferenceError: foo is not defined
console.log(obj2['foo']); // 'bar'

Wie Sie sehen, kann auf obj2 nicht mit der Punktnotation zugegriffen werden, da der Schlüssel „foo“ kein gültiger JavaScript-Bezeichner ist. Stattdessen muss die Klammernotation verwendet werden.

Hinweis:

Obwohl es keinen wesentlichen Unterschied in der Funktionalität gibt, ob Anführungszeichen verwendet werden oder nicht, erfordert das JSON-Datenaustauschformat doppelte Anführungszeichen rund um Grundstücksschlüssel. Wenn Sie planen, Daten im JSON-Format auszutauschen, wird empfohlen, Objektschlüssel immer in Anführungszeichen zu setzen.

Das obige ist der detaillierte Inhalt vonIn Anführungszeichen gesetzte und nicht in Anführungszeichen gesetzte Objektschlüssel in JavaScript: Was ist der semantische Unterschied?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn