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.
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 .
>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.
Tags und Links javascript variable-assignment