반복문(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 문법을 사용하여 반복문을 멈춘 후, 그 경우를 건너뛰고 다시 반복한다.