본문 바로가기

Dev-/java script, jQuery, Ajax

자바스크립트 for문 in vs of

자바스크립트에서 for문 중 두가지 방법이 있다.

for (let i in arr) { ... }

for (let i of arr) { ... }


바로 inof를 사용하는 것인데(일반적인 let i; i < n; i++ 제외)


아래와 같은 차이가 존재한다.

- in: 반복가능한 모든 속성(key)을 다룸

- of: 컬렉션 객체의 요소값(value)을 다룸 ----> (JAVA 향상된 for문)





< in >

let arr = [1, 5, 8];

for (let i in arr) {
console.log(i);
}


일반 객체의 프로퍼티도 반복 가능

let arr = {
name_1: 1,
name_2: 3,
name_3: 5,
};

for (let i in arr) {
console.log(i);
}



< of >

let arr = [1, 5, 8];

for (let i of arr) {
console.log(i);
}


--> iterator 속성을 가진 객체만 가능