> For the complete documentation index, see [llms.txt](https://lochiwei.gitbook.io/web/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://lochiwei.gitbook.io/web/js/grammar/statement/loop/for.md).

# for loops

🚧 施工中

[JS](/web/js.md)⟩ [syntax](broken://pages/-MkkESuTtsNsTLnJJJUC) ⟩ for loops

```javascript
          enum  nonenum  sym     chain    method/operator
----------------------------------------------------------------------
in         ✅      ✅      ✅      ✅     "in" operator
for...in   ✅      ❌      ❌      ✅     loop over "keys"
for...of   ✅      ❌      ❌      ✅     loop over "values"
----------------------------------------------------------------------
keys       ✅      ❌      ❌      ❌     Object.keys()
values     ✅      ❌      ❌      ❌     Object.values()
propNames  ✅      ✅      ❌      ❌     Object.getOwnPropertyNames()
symbols    ❌      ❌      ✅      ❌     Object.getOwnPropertySymbols()
----------------------------------------------------------------------
ownKeys    ✅      ✅      ✅      ❌     Reflect.ownKeys()
descriptors        ✅      ✅      ❌     👉 See: post below*
----------------------------------------------------------------------
```

{% tabs %}
{% tab title="🔴 主題" %}

* <mark style="color:yellow;">**for loops**</mark>
  * [for](/web/js/grammar/statement/loop/for/for.md) - classic for loop
  * [for-of](/web/js/grammar/statement/loop/for/of.md) - for [value](/web/js/val.md) of [iterable](/web/js/iteration/iterable.md)
  * [for-in](/web/js/grammar/statement/loop/for/in.md) - for <mark style="color:yellow;">**key**</mark> (🚧) in [object](/web/js/val/obj.md)
  * [for-await](/web/js/grammar/statement/loop/for/await.md)
* <mark style="color:yellow;">**comparison of different loops**</mark>
  * [arr.forEach()](/web/js/grammar/statement/loop/for/foreach.md)
  * [for-of vs. forEach](/web/js/grammar/statement/loop/for/of/vs-foreach.md)
    {% endtab %}

{% tab title="👥 相關" %}

* [iterable](/web/js/iteration/iterable.md)
* [iteration](/web/js/iteration.md)
  {% endtab %}

{% tab title="📘 手冊" %}

* [ ] [Loops and iteration](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Guide/Loops_and_iteration)
  {% endtab %}

{% tab title="📗 參考" %}

* [ ] [For vs forEach() vs for/in vs for/of in JavaScript](https://thecodebarbarian.com/for-vs-for-each-vs-for-in-vs-for-of-in-javascript)
* [ ] GeeksForGeeks ⟩ [Difference between forEach and for loop in Javascript](https://www.geeksforgeeks.org/difference-between-foreach-and-for-loop-in-javascript/)
  {% endtab %}

{% tab title="🚧" %}

* [ ] <mark style="color:yellow;">**key**</mark>
  {% endtab %}
  {% endtabs %}
