개인공부/TIL(Today I Learned)
TIL 48일차_forEach메소드와 루프제어문
soon327
2021. 3. 7. 00:21
배열의 모든 요소를 함수에 입력하여 가공할 때 쓰는 forEach
메소드!
오늘 forEach
메소드를 쓰다가
예외처리를 해줘야했는데 어떻게 처리해야할지 고민했다.
나는 forEach
메소드는 for루프
안에서 각 요소를 함수에 넣어 실행시킨다고 생각했기때문에,
for문의 continue
를 써야할지, 함수의 return
으로 함수를 중단시켜야할지 고민했는데,
결론부터 말하면 return
을 쓰면 된다!
forEach 메소드 내부에서의 예외처리
생각해보면 쉬운문제다.😋forEach
는 이미 내장되어있는 함수이고,
우리가 사용할 때 조작하는 내용은, 콜백함수안의 내용이다.
따라서 함수에 예외처리를 할때와 마찬가지로,return
을 사용해주면 된다.
let array = [1,2,3,4];
array.forEach(el => {
if(el === 2) return;
console.log(el);
});
//실행결과: 1 3 4
반복문에서 사용하는 continue
나 break
를 쓰면??
함수안에서 사용할 수 없으므로, syntax error가 뜬다.
MDN의 forEach문서에 다음의 내용이 포함되어 있다.
예외를 발생시키는 경우를 제외하고는
forEach() 루프를 중단시킬 방법은 없다.
만약 그러한 목적으로 forEach() 메소드를 사용하는것은 잘못된 방법이다.
따라서 continue
나 break
를 써야한다면,
직접 for루프
를 사용해줘야 한다.