오늘은 자바스크립트에서 활용하는 반복문에 대해서 다시 돌아봤는데 평소에는 for문만 사용했었고 while과 do while이라는 것이 있는지는 처음 알았다. 자바스크립트에는 for문만 있는줄 알았던 것이다. 그래서 3가지의 차이에 대해서 조금 더 살펴보고자 한다.
for 반복문
for문은 세미콜론(;)으로 구분하며 처음 쓰는 것은 초기값, 두번째는 조건, 세번째는 코드 실행 후 작업을 의미한다. 그렇기 때문에 초기값부터 조건의 값이 false가 될 때까지 반복 실행하며 원하는 값을 찍을 수 있는 것이다. 아래의 코드를 보면 i가 0부터 시작해서 5보다 작다면 계속해서 반복문을 실행하게 된다. 그래서 아래와 같이 0부터 4까지의 값을 얻을 수 있다.
for(let i = 0; i < 5; i++) {
console.log(i)
}
// 0
// 1
// 2
// 3
// 4
while 반복문
while문은 for문과 다르게 처음 초기값을 지정해주고 while문 안에는 조건을 걸어준다. 만약 초기값 i가 0인 상태에서 while문 안에 아래와 같은 조건만 넣어주게 된다면 반복문은 무한루프에 빠지기 때문에 브라우저가 뻗어버리는 상황이 생긴다.
let i = 0;
while(i < 6) {
console.log(i)
}
그래서 i가 하나씩 증가하여 6보다 작은 경우에 반복문을 멈춰야하기 때문에 아래와 같이 작성해주어야한다.
let i = 0;
while(i < 6) {
console.log(i)
i++;
}
do while 반복문
do while 반복문은 while문과 비슷하지만 조건문을 아래로 옮길 수 있다는 특징이 있다. 그리고 while문은 루프에 들어가기 전, 먼저 조건식을 검사하는 특징이 있지만 do while문은 루프를 먼저 한번 실행한 후에 조건식을 검사한다. 그렇기 대문에 do while문은 조건식의 결과와 상관없이 무조건 한번은 실행된다는 특징이 있다.
let i = 0;
do{
i++;
console.log(i)
} while(i < 6)
// 1
// 2
// 3
// 4
// 5
// 6
반복문을 빠져나오는 법
break
break을 실행하면 코드실행을 멈추고 해당 반복문 빠져나온다.
while(true) {
let answer = confirm('계속 할까요?')
if(!answer){
break;
}
}
continue
continue를 실행하면 반복을 멈추고 다음 반복으로 진행되기 때문에 반복문을 빠져나오지는 않는다. 그래서 아래와 같이 짝수만을 찍어볼 수 있게 되는 것이다.
for(let i = 0; i < 10; i++) {
if(i % 2) {
continue;
}
console.log(i)
}
// 0
// 2
// 4
// 6
// 8
회고
이번에 반복문을 다시 돌아보면서 while문 사용법과 break, continue에 대해서 새롭게 알게 되었다. 반복문은 한번 실행하면 멈추지 못하는 줄 알고 있었는데 break을 통해 멈추거나 continue를 통해 원하는 부분만 반복시킬 수 있다는 것을 알게된 것이다.
그래도 반복문이나 조건문 등은 많이 사용했기 때문에 거의 다 안다고 생각했는데 이렇게 다시 기초부터 공부해보니 새롭게 알게되는 것들이 등장하는 것 같다. 그래서 기초가 중요한 것 같고, 하나씩 차근차근 공부해보면서 내 프로젝트에도 적용해봐야겠다.
2022.09.08 - [웹개발/Javascript] - [TIL] 자바스크립트 기초문법 - 비교 연산자(<, >, <=, >=, ==, !=)
2022.09.08 - [웹개발/Javascript] - [TIL] 자바스크립트 기초문법 - 논리 연산자( ||, &&, ! )