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의 범위가 중괄호에 제한되기 때문에 외부의 조건에 반응하기 어렵다. 하지만 위와 같이 재귀를 사용한다면, 다른 외부함수의 결과값의 조합을 통해서 좀더 다채로운 조건에 유연하게 대응할 수 있다. 데이터를 재조합하거나 편집하는 과정에서 재귀는 필수구문이므로 반드시 자신만의 구문을 알아두는 편이 좋다.
'코드 스터디' 카테고리의 다른 글
for루프 비동기 구문을 프로미스로 해결하기 (0) | 2022.06.01 |
---|---|
Promise.all & .map() 조합 (0) | 2022.02.04 |
「GUI 심리학」 (0) | 2022.01.31 |
자바스크립트 알고리즘 레퍼런스 (0) | 2022.01.23 |
[Javascript] json파일을 모듈로 받기 (0) | 2022.01.14 |
댓글