반복문(While, for)

모든 프로그래밍 언어는 반복하는 동작을 처리하는 반복문을 가지고 있으며, 조건문과 더불어 가장 많이 쓰이는 언어 중 하나이다.

while문

while문의 기본 형식으로는

while (조건식);

동작문;

이 있으며 이는 조건식과 마찬가지로 조건문이 참일 경우에 설정한 동작문을 무한히 반복한다.

그러므로, 동작문의 무한한 반복을 피하기 위해서는 조건식이 항상 참인 값을 피하기 위해 변수값을 입력해야 한다.

예를 들어,

let i = 1;

while(i <= 100) {

console.log('hello while!'); i++;

}

(100)hello while! 100

라는 반환값을 나타내기 되는데, 이는 ‘hello While!’ 문자열을 100번 출력한 것이다.

여기서, ‘i++;’ 명령어 대신에 ‘ i = i + 1’과 ‘ i += 1’명령어를 입력해도 결과물은 똑같다.

위의 명령어를 사용할 때 마다 i 값은 1씩 커지므로 i 값이 100에 도달할 경우,

조건인 i 가 100에 도달할 때 동작문 더 이상출력되지 않는다.

for문

for문의 기본 형식은

for (시작; 조건식; 종료식)

동작문;

의 형태로 이루어지며 for 문의 소괄호에는 세 가지 요소인 시작(식과 변수 선언), 조건식 그리고 종료식이 들어간다. 조건식과 동작문은 while문과 동일하다.

예를 들어,

for (let i = 1; i < 100; i++) {

console.log('Hello, for!');

}

99 Hello, for! 라는 반환값이 나타난다.

while 문은 시작, 조건문, 반복문이 따로 위치해있으나 for 문은 시작, 조건문, 반복문이 같이 위치한다.

 

for-of 반복문

for-of문은 배열을 위해 사용할 수 있으며

예를 들면

const users = ['A', 'B', 'C']
for (const user of users) {
	console.log(user);
	}

를 입력하였을 때

A
B
C

 

의 결과값을 얻을 수 있으며, 이는 반복문에서 모든 요소에 대해 한 번씩 실행하고 배열을 위해 주로 사용된다.

 

for-in 반복문

for-in 반복문은 객체를 위해 사용할 수 있으며

예를 들면

const loggedInUser = {
  Name: "kanghyun",
  age: 28,
  isAdmin: true,
};

for (const propertyName in loggedInUser) {
  console.log(propertyName);
  console.log(loggedInUser[propertyName]);
}

와 같이 사용할 수 있으며

Name
kanghyun
age
28
isAdmin
true

와 같은 결과값을 나타낸다.

 

 for-in문을 사용하여 'Name, kanghyun, age'와 같은 객체를 나타내며, 위의 'loggedInUser[propertyName]'에 의해 상수에 동적으로 접근하여 객체의 값을 나타낼 수 있다.

 

break 문과 continue 문으로 반복 멈추기

break문

break문으로 특정 조건에서 실행 되는 것을 멈출 수 있는데

예를 들면,

let i = 0;

while (true) {

    if (i === 5) break; i++;

}

console.log(i); 5

의 형태로 값이 나타날 수 있는데, 여기서 break 문을 사용하여 i가 5가 될 때 반복문은 멈추게 된다.

continue문

continue 문은 특정 상황에서 멈추고 그 상황을 건너 뛰어 다시 입력할 수 있는데

예를 들면,

let i = 0;

while (i < 10) {

    i++;

    if ( i % 2 === 0 ) {

    continue;

}

    console.log(i);

}

1

3

5

7

9

의 형태로 값이 나오게 된다.

여기서, ‘i % 2 === 0 ‘의 조건문은 ‘상수를 2로 나누었을 때, 나머지가 0’이라는 의미를 가지며

continue 문법을 사용하여 반복문을 멈춘 후, 그 경우를 건너뛰고 다시 반복한다.

728x90