자바스크립트의 for-of 와 for-in은 배열과 객체를 다룰 때 사용된다. for-of는 배열을 순회하며, for-in은 객체를 순회한다.
for (const i of 배열) {
console.log(i);
}
이렇게 하면 배열 안에 담긴 값을 배열의 순회하며 꺼낼 수 있다. 여기서 왜 let이 아니라 const로 선언한거지? 라는 궁금증이 생길 수 있는데, javascript는 배열을 순회하면서 배열의 값을 저장할 때 기존의 변수에서 재할당하는 것이 아니라 새로운 변수를 계속 만들어내기 때문에 const로 선언하여도 무방한 것이다.
for (const i in 객체) {
console.log(i);
}
이렇게 하면 i에는 객체의 key 값이 담기게 된다. 따라서 얻게된 key값을 활용해 value를 얻고자 한다면 다음과 같이 작성하라.
for (const i in 객체) {
console.log(객체[i]);
}
따라서 나는 배열안에 여러 객체들이 담겨있는 상황에서 for-of 문과 for-in문을 중첩해서 사용하면 좋을 것 같다고 생각했다.
for(const i of 배열){
for(const key in 객체){
console.log(객체[key];
}
}