본문 바로가기

while대신 재귀함수 사용하기

by Recstasy 2022. 2. 2.

 

while문을 사용하는 것보다 범위가 넓다. while문은 특정 조건하에서 검증하는 용도가 좋지만 조건과 범위가 넓어지면 부담스럽다. 가령 아래와 같은 단순한 예제에서는 while문을 사용하면 좋다.

 

  
  let i = 0;
 
  while(i<5){
    console.log('반복'+i)
    i++
  }
 
  // 반복 0
  // 반복 1
  // 반복 2
  // 반복 3
  // 반복 4

[ While문 예제 ]

 

 

하지만 실전에서 저렇게 단순한 상황은 거의 나오지 않는다. 대부분 여러 조건과 외부 함수의 반환값을 계산해야하고, 또 다른 조건값에 부합하지 않을 경우에는 아래와 같이 함수를 다시 실행하는 상황이 대부분이다. 

 

 
  const testRpt = async (val) => {
      const outerFunc = await outFunc(); //외부함수 반환값
      const result = outerFunc ? func01 : func02;
      if(result < '조건'){
          testRpt(val)
      }
      // next
  }

[ 재귀구문 ]

 

while문을 사용할 경우에는 Scope의 범위가 중괄호에 제한되기 때문에 외부의 조건에 반응하기 어렵다. 하지만 위와 같이 재귀를 사용한다면, 다른 외부함수의 결과값의 조합을 통해서 좀더 다채로운 조건에 유연하게 대응할 수 있다. 데이터를 재조합하거나 편집하는 과정에서 재귀는 필수구문이므로 반드시 자신만의 구문을 알아두는 편이 좋다.

댓글

최신글 전체

이미지
제목
글쓴이
등록일