오직 Array
에서만 사용할 수 있는 함수 (ES6부터는 Set 객체
, Map 객체
도 지원)
콜백함수를 인자로 받아 각 배열의 요소에 해당 함수를 적용
for of와 달리 배열 요소의 인덱스, 값에 접근할 수 있는 방법이 존재함
Object
의 key, value
값에 차례로 접근할 때 사용하는 반복문
배열에도 사용할 수 있으나, for in으로 순회할 경우
해당 요소뿐만 아니라 prototype chain을 따라 확장 속성들도 함께 순회하기 때문에
Object
를 제외한 객체에는 사용하지 않는 것을 권장함
Array
, String
, Set 객체
, Map 객체
, NodeList
등
반복 가능한 객체에서만 사용할 수 있는 반복문
continue, break와 같은 제어 흐름을 사용할 수 있으며, forEach보다 속도가 빠름
const array1 = ['a', 'b', 'c'];
array1.forEach(element => console.log(element));
// expected output: "a"
// expected output: "b"
// expected output: "c"
const object = { a: 1, b: 2, c: 3 };
for (const property in object) {
console.log(`${property}: ${object[property]}`);
}
// expected output:
// "a: 1"
// "b: 2"
// "c: 3"
const array1 = ['a', 'b', 'c'];
for (const element of array1) {
console.log(element);
}
// expected output: "a"
// expected output: "b"
// expected output: "c"