1. 반복문
반복문은 조건식의 평가 결과가 참인 경우 코드 블록을 실행한다. 그 후 조건식을 다시 평가하여 여전히 참인 경우 코드 블록을 다시 실행합니다.
이는 조건식이 거짓일 때까지 반복됩니다.
자바스크립트는 세 가지 반복문인 for
, while
, do...while
문을 제공합니다
반복문 + 레이블문
이 포스팅과 비슷하죠?
하지만 이번 반목문은for
, while
, do...while
에 대해 조금 더 알아보는 시간을 가질 예정입니다!
레이블문이 궁금하다면 위의 링크로 슝 날아가보세요
for문
for문은 조건식이 거짓으로 평가될 때 까지 코드 블록을 반복 실행합니다다.
for(let i = 0; i < 2; i++){
console.log(i)
}
for문으로도 무한루프를 만들 수 있습니다.
for문의 변수 선언문, 조건식, 증감식은 모두 옵션이므로 반드시 사용할 필요는 없습니다.
하지만 그렇게 된다면, 무한루프가 되겠죠?
for(;;){
...무한루프
}
while문
while
문은 주어진 조건식의 평가 결과가 참이면 코드 블록을 계속 반복 실행합니다.
그러면 언제 for
문을 쓰고, while
문을 쓸까요?
for
문 : 반복 횟수가 명확할 때while
문 : 반복 횟수가 불명확할 때
while(true){
... 무한루프
}
무한루프에서 탈출하기 위해서는 코드 블록 내에 if
문으로 탈출 조건을 만들고 break
문으로 코드 블록을 탈출할 수 있습니다
do ... while문
do ... while문은 이름과도 같이 do! 코드 블록을 먼저 실행하고 조건식을 평가합니다.
따라서 코드 블록은 무조건! 한 번 이상 실행됩니다
let count = 0;
do {
console.log(count)
count++
} while (count < 3)
break문
break문을 코드 블록을 탈출합니다.
정확히 표현하자면 코드 블록을 탈출하는 것이 아니라 레이블 문, 반복문(for , for... in...... do...while...) 또는 switch문을 탈출합니다.
레이블 문, 반복문, switch문의 코드 블록 이외에 break문을 사용하면 SyntaxError가 발생합니다
continue문
continue
문은 반복문의 코드 블록 실행을 현 지점에서 중단하고 반복문의 증감식으로 실행 흐름을 이동시킵니다.break
문처럼 반복문을 탈출하지는 않습니다.
🤔 : if로도 가능한거아닌가..? 그냥 if로했을때는 실행하고, else면 그냥 아무것도 실행하지 않고...
맞아요, 만약 if문에서 실행해야 할 코드가 한 줄이라면 continue
문을 사용했을 때보다 간편하고 가독성도 좋습니다.
하지만 if문 내에서 실행해야 할 코드가 길다면 들여쓰기가 한 단계 더 깊어지므로 continue문을 사용하는 편이 가독성이 더 좋습니다
차이를 볼까요?
// continue문을 사용하지 않았을 때
for (let i = 0 i < string.length; i++){
if(string[i] === search){
count++
// code
// code
// code
}
}
// continue문을 사용했을 때
for (let i = 0 i < string.length; i++){
if(string[i] !== search) continue;
count++
// code
// code
// code
}
들여쓰기가 얕아졌죠?
플랫하고 예쁜 for문이 되었습니다 ㅎㅎ
'✍ 공부 > JavaScript' 카테고리의 다른 글
[ 모던 자바스크립트 Deep Dive ] 프로퍼티와 식별자 네이밍 규칙 (0) | 2023.01.11 |
---|---|
[ 모던 자바스크립트 Deep Dive ] 옵셔널 체이닝 연산자 && null 병합 연산자 (1) | 2022.12.30 |
[ 모던 자바스크립트 Deep Dive ] 타입 변환 (자바스크립트 ! 두번) (0) | 2022.12.26 |
[ 모던 자바스크립트 Deep Dive ] 반복문 + 레이블문 (0) | 2022.12.26 |
[ 모던 자바스크립트 Deep Dive ] switch 문 (0) | 2022.12.26 |