본문 바로가기
✍️ 기록/Javascript

[JavaScript] for, for...in, for...of, while, do...while, 반복문

by 김물사 2025. 3. 26.

📌 JavaScript 반복문 5가지

- JavaScript에서는 데이터를 효과적으로 순회하고 처리하기 위해 사용하는 반복문 5가지가 있습니다.

- 배열, 객체, 문자열과 같은 데이터 구조를 탐색하고 각 요소에 접근할 수 있는 방법

 

📍 for 반복문

- 가장 기본적인 반복문

- 특정 횟수만큼 반복할 때, 반복 수(끝)가 정해진 경우에 적합 

- 초기화, 조건, 증감식을 포함

// 기본 구조
for(초기화 ; 조건 ; 증감) { 
 // 반복 실행 코드
}
// 예시 - 0 부터 3보다 작게 시작 1씩 증가
for (let i = 0; i < 3; i++) {
  console.log(i); // 0, 1, 2,
}
// 배열 순회
const fruits = ['apple', 'banana', 'cherry'];
for (let i = 0; i < fruits.length; i++) {
    console.log(fruits[i]);
}

📍 for...in 반복문

- 객체의 속성(키)을 순회할 때 사용.

- 객체의 key 값과 value 값을 뽑아내는데 유용합니다.

- 배열에서 사용은 가능하지만 인덱스 순서가 보장되지 않고 예상치 못한 결과 발생할 수 있다.

const data = { a: 1, b: 2, c: 3 }; // 객체

for (let key in data) { // key, obj
  console.log(key, data[key]); // 'a' 1, 'b' 2, 'c' 3
}

📍 for...of 반복문

- 배열, 문자열, Set, Map 등 반복 가능한 객체(이터러블)

- 객체의 값(value)만 순회하며 다룰 수 있고 key 를 가져올 수 없다.

- 일반 객체(Plain Object)는 직접 순회할 수 없음

 

※ Iterable 이터러블

- 반복할 수 있는 객체

- Symbol.iterator

- 배열, 문자열, Set, Map, arauments(함수의 인자 객체), NodeList(DOM 요소 목록)

// 배열
const iterable = [10,20,30];
for(let value of iterable) {
  console.log(value);  // 10, 20, 30
}
// 문자
const message = 'Hello';
for (let char of message) {
    console.log(char); // H, e, l, l, o 출력
}
// Set 순회
const uniqueNumbers = new Set([1, 2, 3, 4]);
for (let number of uniqueNumbers) {
    console.log(number); // 1, 2, 3, 4 출력
}

 

📍 while 반복문

- 조건이 true일 동안 반복 수행

- 반복 끝을 미리 알 수 없는 상황에 적합

// 세 번 반복
let count = 0;
while (count < 3) {
  console.log(count);
  count++;
}
// 무한 루프 방지
let number = 1;
while (number <= 10) {
    console.log(number);
    if (number === 5) break; // 특정 조건에서 루프 종료
    number++;
}
// 언제 끝날지 모르는 반복과 최대 조건으로 루프 종료
let success = false;
let attempts = 0;
const MAX_WHILE = 10;

while (!success) { 
  attempts++;
  console.log(`요청 시도 ${attempts}`);
  // 랜덤하게 성공 또는 실패 시뮬레이션
  success = Math.random() > 1; 
  if (success) {
    console.log("✅ 성공!");
  } else {
    console.log("❌ 실패");
  }
  // 최대 10번 시도 후 강제 종료
  if (attempts >= MAX_WHILE) {
    console.log("⚠️ 요청 중단");
    break;
  }
}

 

📍 do...while 반복문

-  while과 비슷하지만 false 판별될 까지 반복

- 처음 조건이 false 여도 최소 한 번은 실행됨.

let num = 0;
do {
  console.log(num); // 0,1,2,3,4
  num++;
} while (num < 5);

// 최소 한 번 실행
let i = 0;
do {
    console.log(i); // 0
    i++;
} while (i < 0);

 

 

 

 

✍️ 기록

 

감사합니다. 😁

반응형
이 포스팅은 쿠팡 파트너스 활동의 일환으로, 이에 따른 일정액의 수수료를 제공받습니다.