LHJ

I'm a FE developer.

4.3.1 continue 문을 사용하여 조건 중첩 줄이기

19 Apr 2020 » js_lj

특정 조건이 맞을 때만 루프 바디를 실행해야 할 때가 많습니다.
다시 말해 반복문 안에 조건문을 써야 하는 경우입니다.
다음 예제를 보십시오.

while(funds > 1 && funds < 100) {
	let totalBet = rand(1, funds);
	if (totalBet === 13) {
		console.log("Unlucky! Skip this round....");
	} else {
		// 플레이...
	}
}

이런 경우를 제어문 중첩(nested control flow) 이라 부릅니다.
while 루프의 바디에서 할 일은 대부분 else 절에 들어있고, if 절이 하는 일은 console.log를 호출하는 것뿐입니다.
continue 문을 써서 이 구조를 간결하게 만들 수 있습니다.

while(funds > 1 && funds < 100) {
	let totalBet = rand(1, funds);
	if (totalBet === 13) {
		console.log("Unlucky! Skip this round...");
		continue;
	}
	// 플레이...
}

이 단순한 예제에서는 대체 뭐가 좋아졌다는 건지 실감이 잘 안 나겠지만, 루프 바디가 20행 쯤 된다고 생각해 보십시오.
중첩을 제거하면 코드를 읽고 이해하기 쉬워집니다.