참고도서 : 러닝 자바스크립트
for…in
객체의 프로퍼티에 루프를 실행하도록 설계된 루프이다.
for (variable in object)
statement
const player = {
name: "Thomas",
rank: "Midshipman",
age: 25
};
for (let prop in player) {
if (!player.hasOwnProperty(prop)) continue;
console.log(prop + ': ' + player[prop]);
}
for…of
컬렉션의 요소에 루프를 실행하는 다른 방법이다.
for (variable of object)
statement
for…of 루프는 배열, 이터러블 객체에 모두 사용할 수 있는 범용적인 루프이다.
const hand = [randFace(), randFace(), randFace()];
for (let face of hand)
console.log(`You rolled...${face}!`);
위의 식은 배열을 for…of 루프로 돌린 것이다. 이는 배열에 루프를 실행해야 하지만 각 요소의 인덱스를 알 필요는 없을 때 알맞다. 인덱스를 알아야한다면 for 루프를 사용한다.