Gibt es einen funktionalen Unterschied zwischen der Verwendung von Anführungszeichen und der Verwendung von Anführungszeichen mit Javascript-Namenszuweisungen? [Duplikat]

8

Ich bin nicht sicher über den genauen Wortlaut zu verwenden, aber ich habe Objektzuweisungen in Javascript getan zwei wasy

%Vor%

und

%Vor%

Gibt es einen tatsächlichen Unterschied zwischen diesen oder irgendwelchen Fehlern, die Sie beachten müssen?

    
KallDrexx 02.11.2011, 19:26
quelle

4 Antworten

10

Es gibt keinen Unterschied.

Wenn der Schlüssel jedoch kein gültiger Bezeichner ist (z. B. ein Schlüsselwort oder Leerzeichen oder Interpunktion), sind Anführungszeichen erforderlich.

Auch der JSON-Standard (der kein Javascript ist) erfordert immer doppelte Anführungszeichen.

    
SLaks 02.11.2011, 19:27
quelle
2

Die derzeit akzeptierte Antwort ist falsch:

  

Wenn der Schlüssel jedoch kein gültiger Bezeichner ist (z. B. ein Schlüsselwort oder Leerzeichen oder Interpunktion), sind Anführungszeichen erforderlich.

Die Anführungszeichen sind nicht erforderlich, wenn Sie ein numerisches Literal als Eigenschaftsnamen verwenden. Schlüsselwörter und reservierte Wörter sind ebenfalls gültige Bezeichner. Alle Bezeichner (nicht nur Bezeichner ) sind gültige JavaScript-Eigenschaften.

Von Nicht angebene Eigenschaftsnamen / Objektschlüssel in JavaScript , mein Beitrag zu diesem Thema:

  

Zitate können nur weggelassen werden, wenn der Eigenschaftenname ein numerisches Literal ist oder ein gültiger Bezeichnername .

     

[...]

     

Die Klammernotation kann für alle Eigenschaftsnamen verwendet werden.

     

[...]

     

Punktnotation kann nur verwendet werden, wenn der Eigenschaftsname ein gültiger Bezeichnername ist.

Ich habe auch ein Tool erstellt, das Ihnen sagen wird, ob ein bestimmter Eigenschaftenname ohne Anführungszeichen und / oder Punktnotation verwendet werden kann. Versuchen Sie es bei motheraff.in/js-properties .

>     
Mathias Bynens 05.03.2012 18:00
quelle
1

Der Hauptunterschied besteht darin, dass Sie bei Anführungszeichen Schlüssel mit Leerzeichen, js-Schlüsselwörtern usw. verwenden können, die als normale Symbole unzulässig sind. Deshalb benötigt JSON sie.

    
rob 02.11.2011 19:28
quelle
0

Ohne die Anführungszeichen muss der Eigenschaftsname entweder eine Zahl oder eine gültige JavaScript-ID sein. Mit den Anführungszeichen können Sie eine beliebige Zeichenfolge verwenden. Das Zitieren einer Zeichenfolge, die bereits eine gültige JS-ID ist, ist funktional identisch mit der Verwendung nur der ID.

    
millimoose 02.11.2011 19:29
quelle