반복문은 어떻게 작성할까?
while 문
--
기본 형식
while(조건식) {
// 조건식이 참이면 실행한다.
// 수행이 끝나면 다시 조건식으로 돌아간다.
// 즉, 조건식이 참인 동안 계속 반복 수행한다.
}
예시 코드
let x = 0;
while (x < 10) {
console.log(x++);
}
주의
조건이 항상 참인 경우 무한 반복으로 while문에 갇힐 수 있기 때문에
continue 또는 break문을 잘 사용하거나 조건문이 false가 될 수 있도록 코드를 작성해야 한다.
- continue : continue문을 만나는 순간 바로 해당 반복문 맨 위로 이동하여 다음 반복문을 이어서 진행한다.
- break : 반복문을 탈출한다.
--
do while 문
--
while문과 동일하지만 조건문이 참이든 거짓이든 무조건 한 번은 수행해야 한다는 기능이 추가된다.
즉, 먼저 한 번 코드를 수행하고나서 조건식을 확인하여 반복문을 수행할지 말지 결정한다.
기본 형식
do {
// 수행문
} while(조건식);
에시 코드
let x = 12;
do {
console.log(x++);
} while (x < 10);
--
for 문
--
기본 형식
for(초기값; 조건식; 증감식) {
// 수행문
}
동작 순서
- 초기값 확인
- 조건식 검사
- 조건식이 참이면 수행문 동작, 거짓이면 for문 탈출
- 수행문을 모두 동작하면 증감식 동작
- 2 ~ 4를 반복한다.
예시 코드
// 변수이므로 let이 사용됨
for (let i = 0; i < 5; i++) {
console.log(i);
}
let arr = ["banana", "apple", "orange"];
for(let i = 0; i < arr.length; i++) {
console.log(arr[i]);
}
for (let x = 0, y = 10; x <= y; x++, y--) {
console.log(x, y);
}
둘 이상의 변수도 사용 가능
번외
let x = 0;
for (;;) {
console.log(x);
}
console.log('출력 안됨');
초기값, 조건식, 증감식을 작성하지 않으면 무한 루프에 빠진다.
--
for in 문
--
기본 형식
for(가변수 in 배열/객체){
// 수행문
}
배열 또는 객체의 내용물을 하나씩 가변수에 담아 모든 배열, 객체를 한 번씩 훑을 때까지 반복한다.
단, 인덱스 순서대로 접근하여 가변수에 담는 것을 보장하지 않으므로 주의해야 한다.
예시 코드
let obj = {name:"철수", age:"20"};
for(let key in obj) {
console.log(key + ": " + obj[key]);
}
-----실행 결과----------------
name: 철수
age: 20
const lunch = {
name: '라면',
taste: '매운맛',
kilocalories: 500,
cold: false
}
for (const key in lunch) { // 💡 변할 것이 아니므로 const 사용
console.log(key, ':', lunch[key])
}
const list = [1, '가나다', false, null];
for (const item of list) {
console.log(item);
}
--
break 문 & continue 문
--
- break : 현재 위치하는 반복문을 즉시 종료 후 탈출
- continue : 현재 위치하는 반복문의 첫 줄로 돌아감 (continue문 뒤에 있는 수행문을 건너뛰고 다시 이어서 반복)
--
반복문은 어떻게 작성할까?
while 문
--
기본 형식
while(조건식) {
// 조건식이 참이면 실행한다.
// 수행이 끝나면 다시 조건식으로 돌아간다.
// 즉, 조건식이 참인 동안 계속 반복 수행한다.
}
예시 코드
let x = 0;
while (x < 10) {
console.log(x++);
}
주의
조건이 항상 참인 경우 무한 반복으로 while문에 갇힐 수 있기 때문에
continue 또는 break문을 잘 사용하거나 조건문이 false가 될 수 있도록 코드를 작성해야 한다.
- continue : continue문을 만나는 순간 바로 해당 반복문 맨 위로 이동하여 다음 반복문을 이어서 진행한다.
- break : 반복문을 탈출한다.
--
do while 문
--
while문과 동일하지만 조건문이 참이든 거짓이든 무조건 한 번은 수행해야 한다는 기능이 추가된다.
즉, 먼저 한 번 코드를 수행하고나서 조건식을 확인하여 반복문을 수행할지 말지 결정한다.
기본 형식
do {
// 수행문
} while(조건식);
에시 코드
let x = 12;
do {
console.log(x++);
} while (x < 10);
--
for 문
--
기본 형식
for(초기값; 조건식; 증감식) {
// 수행문
}
동작 순서
- 초기값 확인
- 조건식 검사
- 조건식이 참이면 수행문 동작, 거짓이면 for문 탈출
- 수행문을 모두 동작하면 증감식 동작
- 2 ~ 4를 반복한다.
예시 코드
// 변수이므로 let이 사용됨
for (let i = 0; i < 5; i++) {
console.log(i);
}
let arr = ["banana", "apple", "orange"];
for(let i = 0; i < arr.length; i++) {
console.log(arr[i]);
}
for (let x = 0, y = 10; x <= y; x++, y--) {
console.log(x, y);
}
둘 이상의 변수도 사용 가능
번외
let x = 0;
for (;;) {
console.log(x);
}
console.log('출력 안됨');
초기값, 조건식, 증감식을 작성하지 않으면 무한 루프에 빠진다.
--
for in 문
--
기본 형식
for(가변수 in 배열/객체){
// 수행문
}
배열 또는 객체의 내용물을 하나씩 가변수에 담아 모든 배열, 객체를 한 번씩 훑을 때까지 반복한다.
단, 인덱스 순서대로 접근하여 가변수에 담는 것을 보장하지 않으므로 주의해야 한다.
예시 코드
let obj = {name:"철수", age:"20"};
for(let key in obj) {
console.log(key + ": " + obj[key]);
}
-----실행 결과----------------
name: 철수
age: 20
const lunch = {
name: '라면',
taste: '매운맛',
kilocalories: 500,
cold: false
}
for (const key in lunch) { // 💡 변할 것이 아니므로 const 사용
console.log(key, ':', lunch[key])
}
const list = [1, '가나다', false, null];
for (const item of list) {
console.log(item);
}
--
break 문 & continue 문
--
- break : 현재 위치하는 반복문을 즉시 종료 후 탈출
- continue : 현재 위치하는 반복문의 첫 줄로 돌아감 (continue문 뒤에 있는 수행문을 건너뛰고 다시 이어서 반복)
--