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
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!