728x90

서론

자바스크립트를 이용하여 반복문 문제를 풀 때 forEach, for ... in, for ... of가 유용하게 쓰인다. 물론 자바스크립트에는 이 외에도 우리가 잘 알고 있는 for문, while문, do while문 등등의 다양한 반복문이 존재한다. 그 중에서도 비슷하면서도 헷갈리는 것들의 차이가 뭘까 궁금해졌다.

 

본론

forEach

  • 오직 배열에서만 사용가능한 메소드
  • 인자로 callback 함수를 쓸 수 있음
  • (주의) forEach의 E는 꼭 대문자로 써야 함
    const ex = ['ex1', 'ex2', 'ex3'];
    
    ex.forEach(function(i) {
    	console.log(i);
    });
    
    //결과: ex1 ex2 ex3

for ... in

  • 객체의 반복에서 사용되는 메소드
    const user = {
        name: 'goni',
        age: 5
    }
    
    for (let key in user) {
        console.log(key);
        console.log(user[key]);
    }
    
    //결과: name goni age 5​

for ... of

  • 배열의 반복에서 사용되는 메소드
  • forEach와의 차이점은 배열 외에도 많은 객체에서 쓸 수 있다는 것과 인자로 callback함수를 쓸 수 없다는 것
    const ex = ['ex1', 'ex2', 'ex3'];
    
    for (let i of ex) {
        console.log(i);
    }
    
    //결과: ex1 ex2 ex3

 

+ Recent posts