자바스크립트(JavaScript)에서 배열이나 객체를 순회하는 방법은 매우 다양합니다. 상황에 맞는 반복문을 선택하면 코드의 가독성과 효율성을 모두 높일 수 있습니다. 이 글에서는 가장 널리 사용되는 for, for...in, while, do...while 반복문의 특징과 사용법을 예제와 함께 살펴보겠습니다.
자바스크립트의 For 반복문
가장 기본적인 for 문에는 두 가지 변형이 있습니다. 첫 번째는 초기화(init), 조건(condition), 증감식(expr)으로 구성된 전통적인 for 문입니다. 먼저 초기화 문장을 실행한 뒤, 매 반복마다 증감식을 실행하고 조건식을 검사하여 조건이 참인 동안 블록 내부의 코드를 계속 실행합니다.
var step;
for (step = 0; step < 5; step++) {
console.log('Taking step ' + step);
}
위 코드를 실행하면 다음과 같은 결과가 출력됩니다.
Taking step 0 Taking step 1 Taking step 2 Taking step 3 Taking step 4
for...in 반복문
두 번째 형태는 for...in 반복문입니다. for...in 문은 지정된 변수를 객체의 열거 가능한(enumerable) 모든 속성에 대해 반복하며, 각 고유한 속성마다 지정된 문장을 실행합니다. 주로 객체의 키(key)를 순회할 때 유용하게 사용됩니다.
let person = {
name: "John",
age: 35
};
for (let prop in person) {
console.log(prop, person[prop]);
}
실행 결과는 다음과 같습니다.
name John age 35
자바스크립트의 While 반복문
while 반복문은 주어진 표현식이 참(true)인 동안 문장 또는 코드 블록을 반복해서 실행하는 것이 목적입니다. 표현식이 거짓(false)으로 평가되는 순간 반복문은 종료됩니다. 반복 횟수가 정해져 있지 않고 조건에 따라 달라지는 경우에 적합합니다.
let i = 0;
while (i < 5) {
console.log("Hello");
i = i + 1;
}
실행 결과:
Hello Hello Hello Hello Hello
do...while 반복문
do...while 반복문은 while 반복문과 비슷하지만, 조건 검사가 루프의 끝에서 이루어진다는 점이 다릅니다. 따라서 조건이 처음부터 거짓이라 하더라도 루프 본문은 항상 최소 한 번은 실행됩니다.
let i = 0;
do {
console.log("Hello");
i = i + 1;
} while (i < 5);
실행 결과:
Hello Hello Hello Hello Hello
마무리
정리하면, 반복 횟수가 명확할 때는 전통적인 for 문, 객체의 속성을 순회할 때는 for...in 문, 조건 기반 반복에는 while 문, 그리고 본문을 최소 한 번 이상 실행해야 하는 경우에는 do...while 문을 사용하는 것이 좋습니다. 각 반복문의 특성을 정확히 이해하고 활용하면 더욱 깔끔하고 효율적인 자바스크립트 코드를 작성할 수 있습니다.