JavaScript

반복문과 return

Z_Z 2021. 12. 9. 13:09
반응형

1. forEach 와 return 문

let array = [1,2,3,4];

array.forEach((item, index) => {
    console.log(item);
    if(item == 2){
        return;
    }
})

 

위 코드를 보면 2까지 출력한 후 반복문이 종료될거 같지만 종료되지 않으며, 배열의 크기만큼 출력한 후 종료된다. forEach 반복문의 return은 아무런 영향을 끼치지 않는다. 공식 MDN 문서의 forEach에 관한 내용은 아래와 같다.

 

예외를 발생시키는 경우를 제외하고는 forEach() 루프를 중단시킬 방법은 없다. 만약 그러한 목적으로 forEach() 메소드를 사용하는것은 잘못된 방법이다.

공식 MDN - forEach

위 설명과 같이 forEach() 반복문은 도중에 중단시킬 방법이 없으며, 도중에 중단 시켜야할 경우 다른 반복문을 사용하길

권장한다. 또한 forEach() 는 break 문을 사용했을경우 syntax 오류가 발생하기 때문에 사용하지 못한다.

 

 

 

2. for 문과 return 문

let array = [1,2,3,4]

for(let i=0;i<array.length;i++){
    console.log(i);
    if(i == 2){
        break;
    }
}

 

위 코드는 array 배열 2까지의 숫자만 출력하고 종료된다.

반복문을 도중에 중단시켜야한다면 forEach()가 아닌 for문을 사용해야 한다.

 

 

반응형