forEach vs for in vs for of

chloe·2021년 9월 14일
0

TIL

목록 보기
77/81
post-thumbnail

헷갈리는 forEach, for in, for of를 정리해보고자 한다.

forEach

forEach는 모든 요소를 반복하며 콜백함수를 실행한다.
오직 Array객체에서만 사용가능한 메서드. 반복문이 아니라 함수이다.

const arr=['가','나','다','라'];
arr.forEach(item =>{
  console.log(item);
});
//가나다라

for...in

for...in은 객체에 사용할 수 있다. 객체의 key값과 value값을 뽑아내는데 유용한 반복문.
Array에서도 사용할 수 있지만 일반적으로 Object를 제외한 객체에는 사용하지 않는 것이 좋다.
why? for in으로 순회를 하게 되면 해당요소뿐 아니라 prototype chain을 따라 확장 속성들도 함께 순회하기 때문이다.

var obj={
  a:'가',
  b:'나',
  c:'다'
};
for(var key in obj){
  console.log(key,obj[key]);
  //a 가,b 나,c다

for..of

for of 반복문을 사용하기 위해서는 컬렉션 객체가 Symbol.iterator속성을 가지고 있어야만 한다. for of는 iterable한 객체의 순회를 도와주는 반복문이다. Array만 반복할 수 있는 forEach와 다르게, 내부에 Symbol.iterator를 가진 객체라면 어떤 객체든 순회할 수 있다.

var iterable=[10,20,30];
for(var value of iterable) {
  console.log(value);//10,20,30
}

참고 :https://dydals5678.tistory.com/66

profile
Front-end Developer 👩🏻‍💻

0개의 댓글