Sagen wir, ich habe das folgende Objekt:
%Vor%Muss ich die Objekteigenschaften in Anführungszeichen wie diese umbrechen?
%Vor%Ist das Einfache Anführungszeichen im JavaScript-Objektliteral die richtige Antwort?
Nein, das musst du nicht tun.
Die einzigen Gründe für die Angabe von Objektschlüsseln sind
also zum Beispiel
%Vor%Sie müssen nur die Anführungszeichen um die Eigenschaft verwenden, wenn der Eigenschaftsname ein reserviertes Wort ist (wie für, in, Funktion, ...). Auf diese Weise verhindern Sie, dass Javascript versucht, das Schlüsselwort als Teil der Sprache zu interpretieren und höchstwahrscheinlich einen Syntaxfehler zu erhalten. Wenn Sie Leerzeichen in Eigenschaftsnamen verwenden möchten, müssen Sie außerdem Anführungszeichen verwenden. Wenn Ihre Eigentumsnamen nur normale Namen ohne Kollusionspotenzial oder Leerzeichen sind, können Sie die von Ihnen bevorzugte Syntax verwenden.
Eine andere Möglichkeit, die Anführungszeichen erfordert, ist die Verwendung von Javascript-Minifiern wie Google-Closure-Compiler, da dies dazu neigt, alle Eigenschaftsnamen zu ersetzen. Wenn Sie Ihre Eigenschaftsnamen jedoch in Anführungszeichen setzen, behält der Abschlusscompiler die Eigenschaft bei der Codierung bei. Dies hat eine gewisse Relevanz beim Exportieren von Objekten in einer Bibliothek oder beim Verwenden eines Parameterobjekts.
Eigenschaftsnamen in Objektliteralen müssen Strings, Zahlen oder Bezeichner sein. Wenn der Name ein gültiger Bezeichner ist, brauchen Sie keine Anführungszeichen, andernfalls folgen sie denselben Regeln wie Strings.
firstProperty
und secondProperty
sind beide gültige Bezeichner, Sie brauchen also keine Anführungszeichen.
Weitere Einzelheiten finden Sie auf Seite 65 der Spezifikation / p>
Bei Javascript müssen Sie normalerweise keine Anführungszeichen verwenden. Sie können '
oder "
verwenden, wenn Sie möchten, und Sie müssen Anführungszeichen verwenden, wenn es einen Konflikt zwischen dem Namen Ihrer Eigenschaft und einem reservierten Wort wie JS null
gibt. Die Antwort, die du verlinkt hast, scheint korrekt zu sein, ja.
Für JSON sollten Sie "
um Zeichenfolgen verwenden (einschließlich Objekteigenschaftsnamen)
Tags und Links javascript object