Skip to content

The JavaScript for..of loop

The Valley of Code

Your Web Development Manual

The for...of loop is my favorite way to loop in JavaScript.

It combines the conciseness of forEach loops with the ability to break.

The syntax is this:

const list = ['a', 'b', 'c']

for (const item of list) {
  console.log(item)
}

You can break at any point in time using break:

const list = ['a', 'b', 'c']

for (const item of list) {
  console.log(item)
  if (item === 'b') break
}

You can skip an iteration using continue:

const list = ['a', 'b', 'c']

for (const item of list) {
  if (item === 'b') continue
  console.log(item)
}

You can get the index of an iteration using entries():

const list = ['a', 'b', 'c']

for (const [index, value] of list.entries()) {
  console.log(index) //index
  console.log(value) //value
}

Notice the use of const. The for..of loop creates a new scope in every iteration, so we can safely use that instead of let.

→ Get my JavaScript Beginner's Handbook
→ Read my JavaScript Tutorials on The Valley of Code
→ Read my TypeScript Tutorial on The Valley of Code
  • THE VALLEY OF CODE (+ PRO), your web development manual
  • I wrote 15+ free coding BOOKS, download them here
  • SOLOPRENEUR LAND the missing MBA for wannabe solopreneurs craving a life with more freedom, control, fulfillment and purpose (summer 2024)