자바스크립트
자바스크립트 기초 (8) - 반복문
준뜨
2023. 7. 9. 17:02
⭐️ 반복문 ?
반복문이란 말 그대로 반복, 중복되는 코드의 양을 굉장히 효과적으로 줄일 수 있다.
자바스크립트에는 다양한 종류의 반복문이 있습니다.
각각의 반복문은 특정한 조건을 만족할 때까지 코드 블록을 반복적으로 실행합니다.
이를 통해 코드를 단순화하고 반복 작업을 자동화할 수 있습니다.
💫 반복문의 종류
1. for 반복문 : for 반복문은 초기화식, 조건식, 증감식을 포함한 세 가지 부분으로 구성됩니다.
초기화식은 반복문의 시작 시점에서 한 번만 실행되며, 조건식은 반복문의 각 반복마다 평가되고 참일 경우 계속하고
거짓일 경우 반복을 종료합니다. 코드 블록 내의 실행문들이 실행된 후에는 증감식이 실행되어 반복문의 제어 흐름을 결정합니다.
2. while 반복문 : while 반복문은 조건식이 참일 동안 코드 블록을 반복적으로 실행합니다.
while 반복문은 초기화식이나 증감식이 없기 때문에 반복문 안에서 직접 변수를 업데이트 해야 합니다.
조건식이 거짓이면 반복문은 실행되지 않습니다.
3. do-while 반복문 : do-while 반복문은 코드 블록을 실행한 후에 조건식을 평가합니다.
따라서 최소한 한 번은 코드 블록이 실행됩니다. 그 후 조건식이 참인 경우 반복을 계속하고, 거짓인 경우 반복문을 종료합니다.
이 외에도 for...of 반복문과 for...in 반복문 등 다양한 반복문 유형이 있습니다.
for...of 반복문은 배열이나 이터러블 객체를 순회하며
반복합니다. for...int 반복문은 객체의 열거 가능한 속성들을 반복적으로 실행합니다.
반복문은 굉장히 유용한 도구이며, 반복 작업을 효율적으로 처리할 수 있도록 도와줍니다.
하지만 주의해야 할 점이 있습니다. 무한 루프에 빠질 수 있다는 것입니다.
반복문의 무한 루프는 프로그램의 실행 흐름이 종료되지 않고 영원히 반복되는 상황을 말합니다.
이는 프로그램의 동작을 멈추거나 정상적으로 제어할 수 없게 만들 수 있습니다.
무한 루프는 실수로 코드를 작성할 때 발생할 수 있으며, 예상치 못한 결과를 초래할 수 있습니다.
💫 무한 루프의 위험성과 방지
무한 루프의 위험성은 다음과 같습니다.
1. 무한한 실행 시간 : 무한 루프는 프로그램을 영원히 실행시키기 때문에, CPU 및 메모리 리소스를 지속적으로 소비하게 됩니다. 이는 시스템에 부하를 줄 뿐만 아니라, 루프 이후의 코드도 실행되지 않게 만들어 버그를 발생시킬 수 있습니다.
2. 시스템 성능 저하 : 무한 루프로 인해 CPU 리소스가 과도하게 사용되면 다른 프로세스나 작업의 실행에 영향을 미칠 수 있습니다. 이는 시스템의 전반적인 성능 저하를 초래할 수 있습니다.
3. 응답 없음 : 무한 루프에 빠지면 프로그램이 더 이상 응답하지 않는 상태가 됩니다. 사용자 입력에 대한 응답이 없고, 프로그램을 종료하거나 제어할 방법이 없게 됩니다.
이는 사용자 경험을 심각하게 저하시키고, 시스템을 강제로 종료해야 할 수도 있습니다.
4. 데이터 손실 및 보상 : 무한 루프는 예상치 못한 데이터 손실이나 손상을 초래할 수 있습니다.
루프 안에서 잘못된 조건 또는 잘못된 변수 조작으로 인해 데이터가 오염될 수 있습니다.
그렇다면 무한 루프를 방지하기 위해 어떻게 해야할까요?
1. 반복 조건 검사 : 반복문의 조건을 주의 깊게 검사하여 무한 루프에 빠질 가능성을 줄입니다.
반복 조건이 항상 참이 되지 않도록 확인해야 합니다.
2. 제한된 반복 횟수 설정 : 일정 횟수 이상의 반복을 허용하지 않도록 반복문을 작성합니다.
이를 통해 무한루프의 위험을 줄일 수 있습니다.
3. 디버깅 및 테스트 : 코드를 디버깅하고 테스트하여 무한루프를 찾고 수정할 수 있습니다. 특히, 대규모 프로젝트의 경우 코드 리뷰와 테스트 과정을 철저히 수행하는 것이 중요합니다.
728x90
SMALL