Den Unterschied zwischen (für... in) und (für... von) Aussagen verstehen
Einführung
Javascript bietet zwei Schleifenanweisungen (for... in) und (for... of), die unterschiedlichen Zwecken beim Durchlaufen von Objekten und dienen Datenstrukturen.
for... of: Iterieren über Eigenschaftswerte
Die in ES6 eingeführte (for... of)-Anweisung bietet eine praktische Möglichkeit dazu Iterieren Sie die Werte der Eigenschaften eines Objekts. Im Gegensatz zu (for... in), das Eigenschaftsnamen durchläuft, konzentriert sich (for... of) speziell auf Eigenschaftswerte.
Dieser Unterschied wird im bereitgestellten Beispiel deutlich:
var arr = [3, 5, 7]; arr.foo = "hello"; for (var i in arr) { console.log(i); // logs "0", "1", "2", "foo" } for (var i of arr) { console.log(i); // logs "3", "5", "7" }
While (for... in) protokolliert sowohl numerische Indizes ("0", "1", "2") als auch die benutzerdefinierte Eigenschaft "foo" (ES6-Iteratoren schließen normalerweise Schlüssel aus), nur (for... of). Protokolliert die numerischen Eigenschaftswerte („3“, „5“, „7“). Der Grund dafür ist, dass (for... of) einen objektspezifischen Iterator verwendet, der sich auf Eigenschaftswerte konzentriert.
Zusammenfassend bietet (for... of) eine prägnante und wertorientierte Möglichkeit dazu Iterieren Sie über Eigenschaften in einem Objekt. Es überspringt Nicht-Index-Eigenschaften, wie etwa die „foo“-Eigenschaft im Beispiel, und stellt die Eigenschaftswerte direkt als Schleifeniterationen bereit.
Das obige ist der detaillierte Inhalt vonWas ist der Unterschied zwischen den „for...in'- und „for...of'-Schleifen von JavaScript?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!