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.

Download my free JavaScript Beginner's Handbook, and check out my premium React/Vue/Svelte/Node/Next.js courses!


Coming soon:
Click to find out more โคด๏ธ