✍ 공부/JavaScript

[ 모던 자바스크립트 Deep Dive ] 반복문 + 레이블문

Po_tta_tt0 2022. 12. 26. 07:30
반응형

 

 

1. 반복문

너무 익숙한 반목문.
조건식의 평가 결과가 참인 경우 코드 블록 실행
그 후 조건식을 다시 평가하여 여전히 참인 경우 코드 블록을 다시 실행.
이는 조건식이 거짓이 될 때까지 계속 반복.
자바스크립트는 for, while, do ... while문을 제공

 

대체 기능

자바스크립트는 배열을 순회할 때 사용하는 forEach 메서드, 객체의 프로퍼티를 열거할 때 사용하는 for ... in
ES6에서 도입괸 이터러블 순회 for...of등 반복문을 대체할 수 있는 기능을 제공한다.

 

2. 종류

for문

for (let i = 0; i < 2; i++){
    console.log(i)
}

 

while문

반복 횟수가 불명확할 때 주로 사용

let count = 0

while (count < 3){
    console.log(count)
    count++
}

 

break문

코드 블록을 탈출.
레이블, 반복문, switch문의 코드 블록을 탈출할 수 있다.

중첩된 for문의 내부 for에서 break를 사용하면 내부 for을 탈출하여 외부 for으로 이동한다.
이 때 내부 for이 아닌 외부 for문을 탈출하려면 레이블 문을 사용한다

 

레이블 문

outer: for(let i = 0; i < 3; i++){
    for(let j = 0; j < 3; j++){
        if(i + j === 3) break outer; // 3이면 outer이라는 식별자가 붙은 레이블 문을 탈춣한다
    }
}

레이블 문은 중첩 for문 외부로 탈출할 땐느 유용하지만 그 밖에는 일반적으로 권장하지는 않는다.

  • 프로그램의 흐름이 복잡해져서 가독성이 나빠짐
  • 오류를 발생시킬 가능성이 높아짐
반응형