break , continue

·2022년 11월 16일

break

  • 반복문, 조건문 등에서 빠져나올 때 사용
  • break와 continue는 반복문 안에서만 사용할 수 있음
  • 자신이 포함된 가장 가까운 반복문을 벗어남
  • 삼항 연산자 작성시 ? 오른쪽에 break나 continue가 올 수 없음
  • 특정 조건을 만족하면 반목문을 벗어날 때 사용하면 유용하다
  • 반복문의 시작 지점이나 끝 지점에서 조건을 확인하는 것이 아니라 본문 가운데 혹은 본문 여러 곳에서 조건을 확인해야 하는 경우, '무한 반복문 + break’ 조합을 사용하면 좋습니다.

3의 배수로 0~50까지 출력

<script>
for (let i = 0; i <= 100; i += 3) {//3의 배수로 진행
  if (i >= 50) {
    //i가 50을 넘으면 멈춤
    break; //제어문을 벗어날 때 사용
  }
  console.log(i);
}
</script>

결과:
0
3
6
9
12
15
18
21
24
27
30
33
36
39
42
45
48


continue

continue 지시자는 break의 '가벼운 버전’입니다. continue는 전체 반복문을 멈추지 않습니다. 대신에 현재 실행 중인 이터레이션을 멈추고 반복문이 다음 이터레이션을 강제로 실행시키도록 합니다(조건을 통과할 때).

  • while문에서 사용할 경우 continue 문 다음에 오는 코드를 무시하고 조건식으로 이동해 조건 검사를 합니다.
  • for문에서 사용할 경우 continue 문 다음에 오는 코드를 무시하고 증감식으로 이동해 증감 연산을 실행합니다.

현재 실행 중인 반복에서 더는 무언가를 하지 않고 다음 반복으로 넘어가고 싶다면 continue 지시자를 사용할 수 있습니다.

  • 이 키워드를 만나면 건너띄고 다시 반복문의 처음으로 돌아감

  • 반복문의 끝으로 이동하여 다음 반복으로 넘어감

  • break과 다르게 반복문 전체를 벗어나지않고 다음 반복을 계속 수행함

  • 전체 반복 중에 특정조건을 만족하는 경우를 제외하고자 할 때 유용하다

  • for문의 경우 증감식으로 이동

  • while문, do-while문의 경우 조건식으로 이동

1부터 10까지 i가 2의 배수일 경우에만 continue문을 실행하여 홀수만 출력
<script>
 	for (let i = 1; i <= 10; i++) {
  		if (i % 2 == 0) continue; // 짝수일 떄 continue로 무시함. 따라서 홀수만 출력
  		console.log(i);
}
console.log("=== End ===");
</script>
 
결과:
1
3
5
7
9
=== End ===

표현식이 아닌 문법 구조(syntax construct)는 삼항 연산자 ?에 사용할 수 없다는 점을 항상 유의하시기 바랍니다. 특히 break나 continue 같은 지시자는 삼항 연산자에 사용하면 안 됩니다.

<script>
(i > 5) ? alert(i) : continue; // 여기에 continue를 사용하면 안 됩니다.
</script>

참고 자료 주소

profile
저녁놀 마을 사람

0개의 댓글