자바스크립트

자바스크립트 기초 (8) - 반복문

준뜨 2023. 7. 9. 17:02

⭐️ 반복문 ?

반복문이란 말 그대로 반복, 중복되는 코드의 양을 굉장히 효과적으로 줄일 수 있다.

자바스크립트에는 다양한 종류의 반복문이 있습니다.

각각의 반복문은 특정한 조건을 만족할 때까지 코드 블록을 반복적으로 실행합니다.

이를 통해 코드를 단순화하고 반복 작업을 자동화할 수 있습니다.

 

💫 반복문의 종류

1. for 반복문 : for 반복문은 초기화식, 조건식, 증감식을 포함한 세 가지 부분으로 구성됩니다.

초기화식은 반복문의 시작 시점에서 한 번만 실행되며, 조건식은 반복문의 각 반복마다 평가되고 참일 경우 계속하고

거짓일 경우 반복을 종료합니다. 코드 블록 내의 실행문들이 실행된 후에는 증감식이 실행되어 반복문의 제어 흐름을 결정합니다.

for 반복문 예시

2. while 반복문 : while 반복문은 조건식이 참일 동안 코드 블록을 반복적으로 실행합니다.

while 반복문은 초기화식이나 증감식이 없기 때문에 반복문 안에서 직접 변수를 업데이트 해야 합니다.

조건식이 거짓이면 반복문은 실행되지 않습니다.

while 반복문 예시

3. do-while 반복문 : do-while 반복문은 코드 블록을 실행한 후에 조건식을 평가합니다.

따라서 최소한 한 번은 코드 블록이 실행됩니다. 그 후 조건식이 참인 경우 반복을 계속하고, 거짓인 경우 반복문을 종료합니다.

do-while 반복문 예시

이 외에도 for...of 반복문과 for...in 반복문 등 다양한 반복문 유형이 있습니다.

for...of 반복문은 배열이나 이터러블 객체를 순회하며

반복합니다. for...int 반복문은 객체의 열거 가능한 속성들을 반복적으로 실행합니다.

반복문은 굉장히 유용한 도구이며, 반복 작업을 효율적으로 처리할 수 있도록 도와줍니다.

하지만 주의해야 할 점이 있습니다. 무한 루프에 빠질 수 있다는 것입니다.

반복문의 무한 루프는 프로그램의 실행 흐름이 종료되지 않고 영원히 반복되는 상황을 말합니다.

이는 프로그램의 동작을 멈추거나 정상적으로 제어할 수 없게 만들 수 있습니다.

무한 루프는 실수로 코드를 작성할 때 발생할 수 있으며, 예상치 못한 결과를 초래할 수 있습니다.

💫 무한 루프의 위험성과 방지

무한 루프의 위험성은 다음과 같습니다.

 

1. 무한한 실행 시간 : 무한 루프는 프로그램을 영원히 실행시키기 때문에, CPU 및 메모리 리소스를 지속적으로 소비하게 됩니다. 이는 시스템에 부하를 줄 뿐만 아니라, 루프 이후의 코드도 실행되지 않게 만들어 버그를 발생시킬 수 있습니다.

 

2. 시스템 성능 저하 : 무한 루프로 인해 CPU 리소스가 과도하게 사용되면 다른 프로세스나 작업의 실행에 영향을 미칠 수 있습니다. 이는 시스템의 전반적인 성능 저하를 초래할 수 있습니다.

 

3. 응답 없음 : 무한 루프에 빠지면 프로그램이 더 이상 응답하지 않는 상태가 됩니다. 사용자 입력에 대한 응답이 없고, 프로그램을 종료하거나 제어할 방법이 없게 됩니다. 

이는 사용자 경험을 심각하게 저하시키고, 시스템을 강제로 종료해야 할 수도 있습니다.

 

4. 데이터 손실 및 보상 : 무한 루프는 예상치 못한 데이터 손실이나 손상을 초래할 수 있습니다.

루프 안에서 잘못된 조건 또는 잘못된 변수 조작으로 인해 데이터가 오염될 수 있습니다.

 

그렇다면 무한 루프를 방지하기 위해 어떻게 해야할까요?

1. 반복 조건 검사 : 반복문의 조건을 주의 깊게 검사하여 무한 루프에 빠질 가능성을 줄입니다.

반복 조건이 항상 참이 되지 않도록 확인해야 합니다.

 

2. 제한된 반복 횟수 설정 : 일정 횟수 이상의 반복을 허용하지 않도록 반복문을 작성합니다.

이를 통해 무한루프의 위험을 줄일 수 있습니다.

 

3. 디버깅 및 테스트 : 코드를 디버깅하고 테스트하여 무한루프를 찾고 수정할 수 있습니다. 특히, 대규모 프로젝트의 경우 코드 리뷰와 테스트 과정을 철저히 수행하는 것이 중요합니다.

 

 

728x90
SMALL