forEach vs for in vs for of
헷갈리는 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
Author And Source
이 문제에 관하여(forEach vs for in vs for of), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://velog.io/@chloeee/forEach-vs-for-in-vs-for-of저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)