Iterieren durch Objekteigenschaften
In JavaScript kann die for...in-Schleife die Eigenschaften eines Objekts durchlaufen. Es ist jedoch wichtig zu verstehen, wie die Schleifenvariable propt diese Eigenschaften darstellt.
Auf den ersten Blick mag es verwirrend erscheinen, dass propt keine integrierte Methode oder Eigenschaft von Objekten ist. Stattdessen handelt es sich um eine Variable, der während der Schleifeniteration jeder Eigenschaftsname zugewiesen wird.
Die Schleife iteriert über die Schlüssel des Objekts, bei denen es sich immer um Zeichenfolgen handelt. Dazu gehören geerbte Eigenschaften aus der Prototypenkette des Objekts sowie benutzerdefinierte Eigenschaften, die auf dem Objekt selbst definiert sind.
Um Probleme mit geerbten Eigenschaften zu vermeiden, wird empfohlen, die Methode hasOwnProperty zu verwenden, um zwischen benutzerdefinierten Eigenschaften und geerbten Eigenschaften zu unterscheiden:
for (var prop in obj) { if (Object.prototype.hasOwnProperty.call(obj, prop)) { // Do stuff with custom property prop } }
Dadurch wird sichergestellt, dass nur benutzerdefinierte Eigenschaften iteriert werden. Darüber hinaus können Sie hasOwnProperty direkt über das Objekt selbst aufrufen. Es ist jedoch sicherer, die Object.prototype-Version zu verwenden, um potenzielle Konflikte mit benutzerdefinierten Eigenschaften mit demselben Namen zu vermeiden.
Das obige ist der detaillierte Inhalt vonWie durchläuft die „for...in'-Schleife von JavaScript tatsächlich Objekteigenschaften?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!