6장: 반복문과 순환
반복문의 문을 열다
자바스크립트로 프로그래밍을 시작하면 가장 먼저 맞닥뜨리는 벽 중 하나가 바로 반복문입니다. 반복문은 같은 작업을 여러 번, 조건에 맞춰 자동으로 처리할 수 있게 해 주어 코드의 효율성과 가독성을 크게 높여 줍니다. 많은 데이터를 처리할 때, 혹은 특정 조건이 맞을 때까지 코드를 계속 실행하고 싶을 때 반복문을 활용합니다.
for문: 가장 기본적인 반복
가장 널리 쓰이는 반복문은 for
문입니다. 정해진 횟수만큼 작업을 반복할 때 무척 유용합니다. 구조는 간단합니다. 반복을 위한 초기값 설정, 반복 조건, 그리고 값을 증감시키는 부분이 한 줄에 들어갑니다. 예시를 보겠습니다.
for (let i = 0; i < 5; i++) {
console.log(i);
}
위 코드는 0부터 4까지, 총 다섯 번 숫자를 출력합니다. 이처럼 배열 등 연속 데이터 처리에 특히 강력하며, 필요하다면 중간에 break
나 continue
로 흐름을 제어할 수도 있습니다.
while과 do...while문: 조건 기반 반복
반복 횟수를 미리 알기 어렵거나, 특정 조건이 충족될 때까지 반복해야 하는 상황에서는 while
문과 do...while
문이 제격입니다. while
문은 조건을 먼저 검사하고, 참인 동안 반복을 실행합니다.
let count = 0;
while (count < 3) {
console.log('안녕하세요');
count++;
}
do...while
문은 조금 다릅니다. 코드 블록을 한 번 먼저 실행하고 나서 조건을 판단하는 방식이죠. 최소 한 번은 반드시 본문이 실행된다는 점에서 차이가 있습니다.
do {
console.log('반드시 한 번은 실행됩니다.');
} while (false);
배열과 객체 순회: for...in, for...of, forEach
배열이나 객체의 모든 요소를 쉽고 간결하게 순회하고 싶을 때는 전통적인 for
문보다 더 효율적인 여러 문법들이 있습니다.
for...of
는 배열과 같이 순서가 있는 데이터에 잘 맞습니다. 각 아이템으로 직접 접근할 수 있어 편리합니다.for...in
은 객체의 속성 이름(키)을 하나씩 꺼내서 작업하는데 사용됩니다.forEach
는 배열에서 각 요소에 대해 콜백 함수를 한 번씩 실행해 줍니다.
예를 들어, 배열을 순회하고 싶다면 다음처럼 작성할 수 있습니다.
const fruits = ['사과', '바나나', '오렌지'];
for (let fruit of fruits) {
console.log(fruit);
}
객체라면 키를 먼저 뽑아 순회합니다.
const person = {name: '지민', age: 29, hobby: '독서'};
for (let key in person) {
console.log(key + ': ' + person[key]);
}
반복문 사용의 유의점
반복문을 다루다 보면 빠지기 쉬운 함정도 있습니다. 조건을 제대로 설정하지 않거나 종료 조건을 빠뜨리면 무한 루프에 빠질 수 있습니다. 반복문 내부에서 변수 값이 어떻게 바뀌는지 항상 신경 써야 하며, 불필요한 반복을 피하려면 적절히 break
등을 이용해 빠져나올 수 있도록 설계해야 합니다.
반복문의 시작은 단순하게
처음엔 복잡해 보일 수 있지만, 자주 코드를 써보고 다양한 패턴을 실습하다 보면 반복문이 자바스크립트에서 얼마나 자주 쓰이고, 또 얼마나 강력한 도구인지 자연스럽게 몸에 익게 됩니다. 짧은 코드로 무수한 데이터를 빠르고 편하게 처리하는 반복문의 세계에, 이제 첫 발을 내딛어 보세요.


