WEB/JavaScript
[JS] for in, for of 문?
Kwon_
2021. 3. 19. 13:35
for in 문
for in문은 for문가 다르게 동작하는 반복문이다. C#의 foreach와 같은 기능을 하는 구문인 것 같다.
var arr = [1, 2, 3];
for (var i = 0; i < arr.length; i++) { // 배열 arr의 모든 요소의 인덱스(index)를 출력함.
document.write(i + " ");
}
var arr = [1, 2, 3];
for (var i in arr) { // 위와 같은 동작을 하는 for / in 문
document.write(i + " ");
}
for에 들어가는 인자 형태가 서로 다르다.
for / in 문은 해당 객체의 모든 열거할 수 있는 프로퍼티(property)를 순회할 수 있도록 해준다.
for of 문
for / of 문은 반복할 수 있는 객체(iterable objects)를 순회할 수 있도록 해주는 반복문입니다.
자바스크립트에서 반복할 수 있는 객체에는 Array, Map, Set, arguments 객체 등이 있습니다.
이 반복문은 루프마다 객체의 열거할 수 있는 프로퍼티의 값을 지정된 변수에 대입합니다.
for in문 문법은 동일하지만 순회하는 대상에 차이가 있다.
이런식으로 for of 문은 Set 객체를 순회할 수 있지만 for in문은 객체를 순회할 수 없다.
var arr = new Set([1, 1, 2, 2, 3, 3]);
for (var value of arr) {
document.write(value + " ");
}