📌 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);
✍️ 기록
감사합니다. 😁
반응형
'✍️ 기록 > Javascript' 카테고리의 다른 글
[highlight.js] 구문 강조, 번호 추가, navigator.clipboard 복사 (0) | 2025.05.07 |
---|---|
[JavaScript] moment.js로 쉽게 날짜, 시간 사용 및 기간 설정 (2) | 2025.04.10 |
[JavaScript] 전체 글자, 첫글자 대소문자 변경 (0) | 2025.04.02 |
[JavaScript] forEach, map, flatMap, filter, find, findIndex, reduce, reduceRight, some, every 배열 메서드 (1) | 2025.03.26 |
[JavaScript] 변수(Variable), 스코프(Scope), 식별자(Identifier) (0) | 2019.09.24 |
이 포스팅은 쿠팡 파트너스 활동의 일환으로, 이에 따른 일정액의 수수료를 제공받습니다.