Javascript Objekt Eigenschaft Zitate [duplizieren]

8

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?

    
machineaddict 08.02.2012, 11:34
quelle

4 Antworten

22

Nein, das musst du nicht tun.

Die einzigen Gründe für die Angabe von Objektschlüsseln sind

  • Der Name der Eigenschaft ist reserviert / wird vom Browser / js engine verwendet (zB "class" in IE)
  • Sie haben Sonderzeichen oder Leerzeichen in Ihrem Schlüssel

also zum Beispiel

%Vor%     
jAndy 08.02.2012, 11:37
quelle
4

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.

    
Sirko 08.02.2012 11:41
quelle
4

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>     

Quentin 08.02.2012 11:37
quelle
1

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)

    
Matthew Gilliard 08.02.2012 11:37
quelle

Tags und Links