Warum funktioniert der Zugriff auf ein Element in einem Objekt mit einem Array als Schlüssel?

8

Was machst du daraus?

%Vor%

wenn y = ['a'] , x[y] dasselbe ist wie x[['a']] , richtig?

%Vor%

Kann jemand erklären, was hier passiert? Warum funktioniert das?

    
user633183 28.05.2015, 08:43
quelle

2 Antworten

13

Eigenschaftsnamen müssen Strings sein. Wenn Sie versuchen, ein Array als Eigenschaftsnamen zu verwenden, wird die Methode toString() implizit aufgerufen. Das generiert eine Zeichenfolge, die eine durch Kommas getrennte Liste seiner Werte enthält.

%Vor%

Wenn Sie nur einen Wert haben, dann gibt es keine Kommas.

%Vor%     
Quentin 28.05.2015 08:47
quelle
-6

Ich denke, es kommt aus zwei Fakten:

  1. Der JS-Engine-Typ, wie er läuft
  2. jedes JS-Objekt kann auf "wie" ein Array
  3. zugreifen

also dein

%Vor%

wird bei der Verwendung als Schlüssel "casted" in string, was

ergibt %Vor%

Gerade

%Vor%

also dein

%Vor%

end un wie

%Vor%     
Remy Grandin 28.05.2015 08:53
quelle

Tags und Links