for - это обыкновенный цикл, который используется также как и while, хотя часто for юзают для итерации по массивоподобным структурам.
for (var a = true; a;) {
...
}
Специально для обхода сущностей существует 2 вида цикла: for in и for of (причём это самый универсальный итератор, т.к. он работает с протоколом @@iterator).
А вообще (ИМХО) для обхода лучше юзать итераторы, а не плясать с циклами, т.к. это удобнее и нагляднее.
[1, 2, 3].forEach(() => { ... })