[JS] 반복문의 종료

ssumniee·2021년 6월 4일
0
post-custom-banner

break

반복문 실행 도중 break; 을 만날 경우 반복문 실행이 중단되며 반복문이 종료된다.

예시

let sum = 0;
for (let i = 1; i <= 50; i++) {
  sum = sum + i
}
console.log(sum); // 1275
let sum = 0;
for (let i = 1; i <= 100; i++) {
  if (sum > 100) {
    break;
  }
  sum = sum + i
}
console.log(sum); // 105

sum의 값이 105가 되어 if문의 조건식을 만족한 순간 break; 코드가 실행되어
sum 값은 1부터 50까지를 모두 더한 1275가 아닌 105가 된다.

continue

continue; 는 특정 조건을 만족할 경우 반복 중인 명령 실행을 건너뛰고 다음 반복으로 넘어간다.

예시

let sum = 0;
for (let i = 1; i <= 50; i++) {
  if (i % 2 === 0) { // i가 짝수일 경우
    continue; // 명령 실행을 건너뛴다
  }
  sum = sum + i
}
console.log(sum); // 625

i가 if문의 조건식을 만족하는 경우는 i가 짝수인 경우이다.
따라서 i가 짝수일 때마다 (sum 값에 i 값을 더하는) 명령 실행을 건너뛰게 되므로
sum 값은 1부터 50까지의 모든 홀수를 더한 625가 된다.

return

return; 은 반복문을 종료시키기도 하지만 동시에 함수를 종료시킨다.

함수 안에 존재하는 반복문 내에서 특정 조건에 따라 return문이 실행된다면
그 즉시 반복문이 종료될 뿐 아니라 반복문을 포함하고 있는 함수까지 종료된다.

따라서 해당 함수의 리턴값은 undefined 가 된다.

예시

function addNum() {
  let sum = 0;
  for (let i = 1; i <= 50; i++) {
    if (sum > 100) {
      return;
  }
  console.log(sum);
}
addNum(); // undefined

addNum 함수 내부의 sum의 값이 105가 되어 if문의 조건식을 만족한 순간 return; 코드가 실행된다.
이에 따라 addNum 함수 내부의 반복문이 중단되고 addNum 함수가 종료된다.

따라서 addNum 함수의 리턴값은 undefied 가 되고, 해당 함수를 호출하더라도 콘솔창에 sum 값이 출력되지 않는다.

참고한 글

profile
개발에 뛰어든 UX/UI 디자이너
post-custom-banner

0개의 댓글