Kann ich einen JavaScript-Objekteigenschaftsnamen erhalten, der mit einer Zahl beginnt?

8
%Vor%

Gibt es eine andere Möglichkeit, diese Eigenschaft zu erhalten, oder sollte ich einfach keinen Schlüssel verwenden, der mit einer Zahl beginnt?

    
bodine 27.04.2011, 19:57
quelle

2 Antworten

21

Sie können die folgende Syntax verwenden, um das zu tun, was Sie beschreiben, indem Sie die Klammernotation verwenden:

%Vor%

Die Klammernotation unterscheidet sich von der Punktnotation (z. B. myObject.myProperty ) dadurch, dass sie für den Zugriff auf Eigenschaften verwendet werden kann, deren Namen ungültig sind. Illegal bedeutet, dass Sie bei der Punktnotation nur alphanumerische Eigenschaftsnamen verwenden können (plus Unterstrich _ und Dollarzeichen $ ) und nicht mit einer Zahl beginnen. Bracket-Notation ermöglicht es uns, mit einer Zeichenfolge auf eine Eigenschaft zuzugreifen und diese zu umgehen.

%Vor%

Dies bedeutet auch, dass wir String-Variablen verwenden können, um Eigenschaften für Objekte zu suchen und festzulegen:

%Vor%

Sie können mehr über Punkt- und Klammernotation lesen hier, auf MDN .

    
mattsven 27.04.2011, 19:58
quelle
1

Ja, verwenden Sie die Klammer-Syntax:

alert(myObj.suppliers[0]["12m"]);

Von MDN

  

Eine JavaScript-Kennung muss mit einem Buchstaben, Unterstrich (_) oder beginnen   Dollarzeichen ($); nachfolgende Zeichen können auch Ziffern (0-9) sein.   Da JavaScript Groß- und Kleinschreibung berücksichtigt, enthalten Buchstaben die Zeichen   "A" bis "Z" (Großbuchstaben) und die Buchstaben "a" bis "z"   (Kleinbuchstaben).

    
cmd 18.12.2016 21:27
quelle

Tags und Links