[JS] 반복문이란?
in Study on Study, JavaScript
for문
반복문을 사용하면 불필요한 코드를 반복적으로 사용하지 않고 간결하게 작성할 수 있다.
for문 작성법
for (초기값; 조건식; 증감식) {
// 실행할 코드
}
- 초기값 : 증감식 반복횟수를 카운트하는 역할을 하는 변수, 초기값은 반복문의 코드블록 내부에서만 유효하다.
- 조건식 : 코드블록 내부 코드의 실행 여부 결정, true일 경우 코드 실행, false일 경우 반복문 종료.
- 증감식 : 코드블록 내부의 코드를 실행한 후 초기값으로 선언된 변수를 증가 또는 감소시키기 위한 표현식
사용 예시
let result = 0;
for(let num = 1; num<=5; num++){
result = result + num;
}
console.log(result); //15
위 코드 실행 과정
- for문 내부에 num이라는 변수를 선언하고 1이라는 초기값을 할당한다.
- 변수 num이 5보다 작거나 같은지 확인한다.
- 2의 결과가 true면, 코드블록 내부의 코드를 실행한다.
- 변수 numdmf 1 증가 시킨다.
- 2부터 4까지 반복한다.
- 2의 결과가 false면 반복문 종료
반복문 활용
for문의 초기화, 조건식, 증감식 모두 숫자타입과 관련있는데.. 문자열에 반복문을 활용하려면?
문자열의 첫 번째 문자부터 마지막 문자까지 모두 출력하는 코드?
let str = 'Jawsbean';
for(let i = 0; i<=8; i++{
console.log(str[i])
})
그러나 문자열의 길이를 모를 땐 어떻게 작성하는가?
let str = 'Jawsbean';
for(let i = 0; i <=str.length - 1; i++){
console.log(str[i]);
}
인덱스는 0부터 세지만
길이는 말 그대로 문자열에 속한 문자열 갯수를 말함.
따라서 문자열의 마지막 문자의 인덱스는 문자열의 길이보다 1만큼 작다.
i <=str.length-1 || i < str.length로 작성
반복문은 중첩이 가능하다.
while문
초기화, 조건식, 증감식이 모두 필요한 for문과 달리 while문은 조건식만 입력한 후 조건식의 평가결과가 true인 경우 코드블록 내부의 코드를 반복하여 실행.
무한루프를 주의할 것. (false로 평가되는 순간이 있는지 반드시 확인)
let num = 0;
while(num <3){
console.log(num);
num++
}
//=====> for문으로 바꾸면
for(let num = 0; num <3; num++){
console.log(num);
}
do…while문
while뒤에 오는 조건식이 true로 평가되는 동안 do 뒤에 오는 코드블록 내부의 코드를 반복하여 실행한다. (단, 이 경우 do의 코드블록 내부 코드가 최소 한 번은 실행됨)
for 문과 while문
for문과 while문의 용도는 명확히 구분되지 않는다.
그러나 주로 사용하는 상황은 있다
- for문을 사용하는 경우
- 반복 횟수가 비교적 명확할 때
- 배열, 문자열 내부를 순회할 때
- 반복문의 중첩이 필요할 때
- while문을 사용하는 경우
- 반복 횟수가 명확하지 않을 때