본문 바로가기

새싹

[새싹 프론트엔드] for문과 while문은 언제 사용해야 할까?

 

위 문제에서 남은 커피의 개수를 구할 때 for문을 쓰는 게 적합할까요, while문을 쓰는 게 적합할까요?

 

 

저는 반복문을 써야할 때 for문만 사용하는 습관이 있었는데 자바스크립트 과제를 진행하며 for문보다 while문을 쓰는게 더 적합한 상황이 있다는 것을 알게 되었습니다. 이번 기회에 어떤 상황에서 for문을 쓰는 게 좋고, 어떤 상황에서 while문을 쓰는 게 좋은지 정리해보려 합니다!!!

 


for문과 while문의 사용법

 

for문

 

먼저 for문은 아래와 같이 사용합니다

for (begin; condition; step) {
  // ... 반복문 본문 ...
}

//조건 i < 3을 만족할 동안 i를 출력
for (let i = 0; i < 3; i++) { // 0, 1, 2가 출력됩니다.
  alert(i);
}

 

 

while문

 

while문은 아래와 같이 사용합니다.

condition(조건)이 truthy 이면 반복문 본문의 코드가 실행됩니다.

while (condition) {
  // 코드
  // '반복문 본문(body)'이라 불림
}


//조건 i < 3을 만족할 동안 i를 출력
let i = 0;
while (i < 3) { // 0, 1, 2가 출력됩니다.
  alert( i );
  i++;
}

for문과 while문의 차이점

 

for문 while문
반복 횟수가 정해져 있는 경우 사용 특정 조건을 만족할 때까지 반복해야 할 때 사용

 

for문은 주어진 조건동안 실행되는 것이고 while문은 주어진 조건이 true일때만 실행되는 것이 가장 큰 차이인 것 같습니다.

 


다시 이 문제로 돌아와서 for문과 while문 중 어느 것이 더 적합한지 생각해보면 while문이 더 적합하다는 것을 알 수 있습니다. 커피를 항상 주는 것이 아니고 일정 금액 이상을 넣었을 때만 줘야 하고 커피가 0잔이 되면 반복문을 멈춰야 하기 때문에 for문 보다는 while문이 적절해 보입니다. 이 문제를 처음 풀때 for문으로 풀다가 한참 헤맸는데... 앞으로 반복문을 써야 할 때 for문과 while문을 적재적소에 사용해야겠습니다 :)