Während einige Beispiele zu üben, stieß ich auf das folgende Beispiel:Legendes Objektliterale
var foo = {unique_prop: 1};
var bar = {unique_prop: 2};
var object = {};
object[foo] = 'value';
alert(object[bar]);
wo zwei Objekte foo und bar erzeugt werden. Ich bekomme nicht, wie wachsam (Objekt [bar]); ist "Wert". Was ist der Link hier zwischen foo und bar.
Auch eine kleine Abweichung würde die Ausgabe als "undefined" geben, wie das Beispiel unten zeigt.
var foo = {unique_prop: 1};
var bar = {unique_prop: 2};
var object = {};
object["foo"] = 'value';
alert(object[bar]);
standardmäßig die []
Notation können die Saiten rechts verwenden, Arent ["some_property"]
und [some_property]
gleich?
Die Verbindung zwischen 'foo' und 'bar' ist, dass sie beide dasselbe Ergebnis ergeben, wenn sie in eine Zeichenfolge (die alle Eigenschaftsschlüssel sind) – Bergi
„* Arent' [“some_property"]' und '[some_property] ' das gleiche? * "- Nr. – Bergi
Btw, wie ein' Object' in ein Primitiv umgewandelt wird, wird durch die 'valueOf' oder' toString' Methoden reguliert (ersteres hat Vorrang vor dem letzteren, falls beide definiert sind). – ftor