[Study/JavaScript] for 반복문 / while 반복문

SoShy·2023년 11월 28일

JavaScript_Study

목록 보기
8/36
post-thumbnail

🥕 for 반복문 (loop statement)

기본 구조

for (초기화부분; 조건부분; 추가동작부분) {
  동작부분
}
  • 초기화 부분 : for 반복문이 시작할 때, 가장 먼저 한 번만 실행됨.
    - 보통 반복 횟수를 저장할 변수를 생성하는 데 활용

  • 조건 부분 : 작성된 코드를 boolean 형태로 평가한 후, true로 판단되면 동작 부분 실행

  • 추가 동작 부분 : 동작 부분 실행 후, 추가적으로 동작하는 부분

예시

for (let i = 1; i <= 5; i++) {
  console.log('소샤이 최고!');
}
.
.
.
>>> 소샤이 최고!
  	소샤이 최고!
  	소샤이 최고!
    소샤이 최고!
    소샤이 최고!

  • 추가 동작 부분을 반드시 채워야 할 필요는 없음.
for (let i = 1; i <= 5;) {
  console.log('소샤이 최고!');
  i++;
}
.
.
.
>>> 소샤이 최고!
  	소샤이 최고!
  	소샤이 최고!
    소샤이 최고!
    소샤이 최고!

  • 초기화 부분도 반드시 채워야 할 필요는 없음.
  • 단, for문의 소괄호 안쪽 가장 첫 번째 세미콜론은 생략할 수 없음.
let i = 1; 

for (; i <= 5; i++) {
  console.log('소샤이 최고!');
}
.
.
.
>>> 소샤이 최고!
  	소샤이 최고!
  	소샤이 최고!
    소샤이 최고!
    소샤이 최고!

  • 초기화 부분에서 생성한 변수는 for 반복문의 로컬 변수
for (let i = 1; i <= 10; i++) {
  console.log(`${i} 소샤이 최고!`);
}

console.log(i);
.
.
.
>>> error : i에 대한 변수 선언이 되지 않았기 때문

🥕 while 반복문 (while statement)

기본 구조

while ('조건부분') {
  '동작부분'
}
  • 조건 부분이 충족되지 않을 때까지 동작 부분을 반복

예시

let i = 1;

while (i <= 5) {
  console.log(`${i} 소샤이 최고!`);
  i++;
}
.
.
.
>>> 1 소샤이 최고!
	2 소샤이 최고!
	3 소샤이 최고!
	4 소샤이 최고!
	5 소샤이 최고!
let i = 30;

while (i % 7 !== 0) {
  i++;
}

console.log(i);
.
.
.
>>> 35

1. for 반복문 vs. while 반복문

  • 특별한 경우가 아니라면, 대부분 서로 대체가 가능함.

  • while 반복문 : 글로벌 변수를 조건 비교에 사용하고, 반복문 내부에서도 다루면서, 결과적으로 반복문이 종료된 다음에도 이 변수를 사용해야 할 때 활용

🥕 break

let i = 1;

for (let i = 1; i <= 10; i++) {
  console.log(i);
  if (i === 7) {
    break;
  }
}
.
.
.
>>> 1
	2
	3
	4
	5
	6
	7
let i = 1;

while (i <= 10) {
  console.log(i);
  if (i === 7) {
    break;
  }
  i++;
}
.
.
.
>>> 1
	2
	3
	4
	5
	6
	7

🥕 continue

  • continue가 실행되면, 동작 부분을 건너뛰고, 추가 동작 부분으로 넘어감
for (let i = 1; i <= 10; i++) {
  if (i % 2 === 0) {
    continue;
  }
  console.log(i);
}
.
.
.
>>> 1
	3
	5
	7
	9
let i = 1;

while (i <= 10) {
  if (i % 2 === 0) {
    i++;
    continue;
  }
  console.log(i);
  i++;
}
.
.
.
>>> 1
	3
	5
	7
	9
profile
프론트엔드 개발자가 되기 위해 노력 중인 새싹🌱 입니다.

0개의 댓글