문제5 : for문 계산
let a = 10;
let b = 2;
for(let i=1; i<5; i+=2){
a += i;
}
console.log(a+b);
1) 10
2) 12
3) 14
4) 16
=> 답: 4번 16
위의 for문을 풀어보자~~
for(let i = 1; i <5; i=i+2){
a = a + i;
}
i가 한번씩 돌고나서 i값은 2가 더해져서 증가한다.
다시 말하자면
i 가 1일때 a = 10, i= 1 ==> a+i = 11
i가 한번 더 돌면서 2가 증가한다. (i+=2) a = 11, i = 3 ==> 14
그리고 i가 추가로 돌면서 i값은 5가 되는데, i<5 조건에 걸려 결국 종료된다.
그러면 최종 a값은 14이며 b=2 이기 때문에 a+b는 16이다.
자바스크립트에서 반복문(Loop)은 코드를 여러 번 실행할 때 사용됩니다.
자주 사용되는 반복문에는 for, while, do...while, forEach, for...in, for...of 등이 있어요.
🔹 1. for 반복문 (기본 반복문)
가장 일반적인 반복문으로, 특정 횟수만큼 반복할 때 사용합니다.
✅ 기본 문법
for (초기값; 조건; 증감식) {
// 실행할 코드
}
✅ 예제
for (let i = 0; i < 5; i++) {
console.log("i의 값:", i);
}
📌 설명:
1️⃣ i = 0 : 초기값 (반복문 시작 시 한 번 실행)
2️⃣ i < 5 : 조건 (참이면 실행, 거짓이면 종료)
3️⃣ i++ : 증감식 (반복이 끝날 때마다 실행)
i의 값: 0
i의 값: 1
i의 값: 2
i의 값: 3
i의 값: 4
🔹 2. while 반복문 (조건 기반 반복)
조건이 참(true)인 동안 계속 실행합니다.
✅ 기본 문법
while (조건) {
// 실행할 코드
}
✅ 예제
let count = 0;
while (count < 5) {
console.log("count:", count);
count++;
}
📌 설명:
- count < 5가 true이면 실행
- count++가 없으면 무한 루프 발생 주의!
🔹 결과
count: 0
count: 1
count: 2
count: 3
count: 4
🔹 3. do...while 반복문 (최소 1회 실행)
조건을 확인하기 전에 한 번은 무조건 실행합니다.
✅ 기본 문법
do {
// 실행할 코드
} while (조건);
✅ 예제
let num = 5;
do {
console.log("num:", num);
num++;
} while (num < 3); // 조건이 거짓이지만, 최소 1회 실행됨
🔹 결과
num: 5
✔️ num이 처음부터 5라서 while(num < 3)는 거짓이지만, do 덕분에 한 번 실행됨!
🔹 4. forEach() (배열 전용)
배열을 순회할 때 자주 사용됩니다.
✅ 기본 문법
배열.forEach((요소, 인덱스, 배열) => {
// 실행할 코드
});
✅ 예제
let fruits = ["🍎", "🍌", "🍇"];
fruits.forEach((fruit, index) => {
console.log(`인덱스 ${index}: ${fruit}`);
});
🔹 결과
인덱스 0: 🍎
인덱스 1: 🍌
인덱스 2: 🍇
✔️ forEach()는 반복문을 종료할 수 없음 (break 사용 불가)
✔️ 단순히 모든 요소를 순회할 때 유용!
🔹 5. for...in (객체 순회)
객체의 키(key)를 반복할 때 사용합니다.
✅ 기본 문법
for (let key in 객체) {
// 실행할 코드
}
✅ 예제
let person = { name: "Alice", age: 25, city: "Seoul" };
for (let key in person) {
console.log(`${key}: ${person[key]}`);
}
🔹 결과
name: Alice
age: 25
city: Seoul
✔️ for...in은 배열에도 사용 가능하지만 권장되지 않음 (배열은 for...of 사용)
🔹 6. for...of (배열 순회)
배열, 문자열, Map, Set 등 이터러블(iterable) 객체를 순회할 때 사용합니다.
✅ 기본 문법
for (let 요소 of 배열) {
// 실행할 코드
}
✅ 예제
let numbers = [10, 20, 30];
for (let num of numbers) {
console.log(num);
}
🔹 결과
10
20
30
✔️ for...in과 달리 배열의 요소 값을 직접 순회합니다.
✔️ 객체에는 사용 불가 (for...in 사용해야 함)
🔹 7. break & continue
반복문을 제어할 때 사용됩니다.
✅ break (반복문 종료)
for (let i = 0; i < 5; i++) {
if (i === 3) break; // i가 3이면 종료
console.log(i);
}
🔹 결과
0
1
2
✔️ i === 3에서 break가 실행되어 반복문이 종료됨.
✅ continue (이번 반복 건너뛰기)
for (let i = 0; i < 5; i++) {
if (i === 3) continue; // i가 3이면 건너뛰기
console.log(i);
}
🔹 결과
0
1
2
4
✔️ i === 3일 때 continue 실행 → console.log(i)가 실행되지 않음.
🚀 정리
반복문 | 특징 |
for | 특정 횟수 반복 |
while | 조건이 참이면 계속 반복 |
do...while | 최소 1회 실행 후 반복 |
forEach() | 배열 요소 순회 (배열 전용) |
for...in | 객체의 key를 순회 |
for...of | 배열 요소 값 순회 (for...in보다 추천) |
break | 반복문 즉시 종료 |
continue | 현재 반복만 건너뛰고 계속 실행 |
* 위 내용은 챗GPT 답변 내용을 정리하였습니다.
'JavaScript' 카테고리의 다른 글
[JS] 코딩테스트 009 - concat (1) | 2025.02.16 |
---|---|
[JS] 코딩테스트 008 - 객체**** (0) | 2025.02.16 |
[JS] 코딩테스트 007 - 변수선언 (0) | 2025.02.16 |
[JS] 코딩테스트 004 - JS 변수타입 (0) | 2025.02.15 |
[JS] 코딩테스트 001~003 - 배열개념 정리 (0) | 2025.02.15 |