Heim > Web-Frontend > js-Tutorial > Was ist der Unterschied zwischen den „for...in'- und „for...of'-Schleifen von JavaScript?

Was ist der Unterschied zwischen den „for...in'- und „for...of'-Schleifen von JavaScript?

Linda Hamilton
Freigeben: 2024-12-19 20:48:15
Original
611 Leute haben es durchsucht

What's the Difference Between JavaScript's `for...in` and `for...of` Loops?

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"
}
Nach dem Login kopieren

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!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage