Die beiden häufigsten Möglichkeiten, auf Eigenschaften in JavaScript zuzugreifen, sind ein Punkt und eckige Klammern. Beide value.x and value[x]
greifen auf eine Eigenschaft nach Wert zu - aber nicht unbedingt auf dieselbe Eigenschaft. Der Unterschied besteht darin, wie x interpretiert wird. Bei Verwendung eines Punkts muss der Teil nach dem Punkt ein gültiger Variablenname sein und die Eigenschaft direkt benennen. Bei Verwendung von eckigen Klammern wird der Ausdruck zwischen den Klammern ausgewertet, um den Eigenschaftsnamen zu erhalten. Während value.x die Eigenschaft des Werts "x" abruft, versucht value [x], den Ausdruck x auszuwerten, und verwendet das Ergebnis als Eigenschaftsnamen.
Wenn Sie also wissen, dass die Immobilie, an der Sie interessiert sind, "Länge" heißt, sagen Sie value.length
. Wenn Sie die Eigenschaft extrahieren möchten, die durch den in der Variablen enthaltenen Wert benannt ist i
, sagen Sie value[i]
. Und da Eigenschaftsnamen eine beliebige Zeichenfolge sein können, müssen Sie eckige Klammern verwenden , wenn Sie auf eine Eigenschaft mit dem Namen “2”
oder zugreifen möchten “John Doe”
: value[2] or value["John Doe"]
. Dies ist der Fall, obwohl Sie den genauen Namen der Eigenschaft im Voraus kennen, da keiner der beiden “2” nor “John Doe”
einen gültigen Variablennamen hat und daher nicht über die Punktnotation zugegriffen werden kann.
Im Falle von Arrays
Die Elemente in einem Array werden in Eigenschaften gespeichert. Da die Namen dieser Eigenschaften Zahlen sind und wir häufig ihren Namen von einer Variablen erhalten müssen, müssen wir die Klammer-Syntax verwenden, um auf sie zuzugreifen. Die Länge-Eigenschaft eines Arrays gibt an, wie viele Elemente es enthält. Dieser Eigenschaftsname ist ein gültiger Variablenname, und wir kennen seinen Namen im Voraus. Um die Länge eines Arrays zu ermitteln, schreiben Sie normalerweise, array.length
da dies einfacher zu schreiben ist als array["length"]
.