이번 포스트는 제대로 for ... in 과 for ... of 를 정리하고 써보기 위해 정리한 글이다.
for...of
[MDN] for...of()
for (variable of iterable) {
statement
}
- 반복가능한 객체 (Array, Map, Set, String, TypedArray, arguments 객체 등을 포함)에 대해 반복
- 대부분의 경우 variable -> value
- Map 인 경우 variable -> [key, value] 처럼 사용 할 수 있음
- for in 처럼 모든 열거가능한 속성에 대한 반복이 아닌 [Symbol.iterator] 속성이 있는 모든 컬렉션 요소에 대해 이 방식으로 반복
- break, continue 사용 가능
for...in
[MDN] for...in()
for (key in object) { ... }
- 객체를 for 문으로 돌리고 싶을 때 사용
- 모든 열거가능한 속성에 대해 반복
- key 값들을 사용해 객체 안을 순회하며 하고 싶은 일이 있을 때
- 문자열 인 키 + 열거 가능한 속성 -> 반복 (Symbol로 키가 지정된 속성은 무시)
- break, continue 사용 가능
forEach
[MDN] Array.prototype.forEach()
- 배열에서만 사용가능
- 배열 요소 각각에 대해 모두 순회하고 싶을 때 사용
- break, continue 사용 못함 -> 순회 도중 멈출 수 없음
- reutrn -> undefined