JS_4. 반복문

Seoyong Lee·2021년 4월 8일
0

JavaScript / TypeScript

목록 보기
5/25
post-thumbnail

반복문의 특징

반복문은 같은 동작을 여러 번 실행해야 할 때 매우 유용하다. 이러한 반복문이 한 번 실행되는 것을 이터레이션(iteration)이라고 부르며, 특정 조건을 만족할 때까지 계속해서 실행된다. 만약 반복문의 종료 시점을 제대로 설정하지 않으면 이론상 반복문은 무한히 반복한다. 그러나 자바스크립트의 경우 브라우저가 이를 알아서 멈추므로 실제로는 오류를 통해 확인할 수 있다.

for 반복문

for 문은 가장 기본적인 반복문 형태이다.

for (begin; condition; step) {
  body
}

begin(초기화): 처음 진입 시 실행
condition(조건식): 반복마다 해당 조건을 검토하고, false이면 반복중단
step(증감문): 각 반복의 body 실행 이후 적용

이러한 반복문이 설정되면 초기값에서부터 시작하여 조건식을 만족하면 body를 실행하고 증감문에 따라 반복된다. 이러한 반복은 조건식이 false를 반환할 때 까지 계속되며 대표적인 형태는 아래와 같다.

for (let i = 0; i < str.length; i++) {
	result = result + str[i];
}

이러한 for 반복문은 배열과 객체를 대상으로 축약된 형태로 사용이 가능하다.

for (let el of arr) {
	result = result + el
}

for...of 형태는 배열 arr의 요소 el을 차례로 반복하여 접근한다. 이러한 방식의 단점은 위의 예시에서 i에 해당하는 이터레이션 횟수를 알 수 없다는 점이다. 그러나 간편하게 배열 요소 모두에 접근할 수 있다는 장점이 있다.

for (let property in obj) {
	result = result + property.value
}

마찬가지로 for...in 은 객체 obj의 모든 키에 차례로 접근한다.

while 반복문

while 반복문은 조건식과 바디만으로 구성되어 있으므로 몇 번이 반복될지 모르는 상황에서 유용하게 사용될 수 있다.

let = begin; 
while (condition) {
  body;
  step;
}

이러한 방식은 for 문과 달리 초기화를 밖에서 진행해 주어야 한다.

do {
  body;
  step;
} while (condition);

do...while 방식은 본문을 최소 한번은 실행시키고자 할 경우 사용되나 자주 쓰이지는 않는다.

break, continue, label

반복문에는 반복문의 중단과 탈출을 위한 지시자가 존재한다.

break: 반복문이 중단되고 반복문에서 빠져나옴
continue: 현재 반복만 중단하고 다음 이터레이션 실행
label: 중첩된 반복문 안에서 모든 반복문 밖으로 빠져나오기 위해 사용

label: for (let i = 0; i < 3; i++) {
  for (let j = 0; j < 3; j++) {
    if (i === 2 && j === 2) {
    	break label;
    }
  }
}
alert('완료!');

위와 같이 break를 사용하면 label에 해당하는 반복문에서 빠져나올 수 있다. continue의 경우 한 이터레이션만 중단되고 전체 반복문은 그대로 진행된다.

참고:
모던 JavaScript 튜토리얼

profile
코드를 디자인하다

0개의 댓글