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 값이 출력되지 않는다.