728x90
반응형
`제어문`은 코드의 실행 흐름을 제어하는 문입니다. 조건에 따라 코드 블록을 실행하거나 반복 실행할 때 사용합니다.
1. 블록문 (Block Statement)
- 0개 이상의 문을 `중괄호`로 묶은 코드 블록
- 자바스크립트는 블록문을 하나의 실행 단위로 취급
{
var foo = 10;
console.log(foo);
}
2. 조건문 (Conditional Statement)
2.1 if...else 문
- 주어진 `조건식`의 평가 결과에 따라 실행할 코드 블록 결정
if (조건식) {
// 조건식이 true일 때 실행
} else {
// 조건식이 false일 때 실행
}
2.2 switch 문
- 주어진 표현식의 평가 결과와 일치하는 case 문으로 실행 흐름 이동
switch (표현식) {
case 값1:
// 표현식 === 값1일 때 실행
break;
case 값2:
// 표현식 === 값2일 때 실행
break;
default:
// 일치하는 case가 없을 때 실행
}
주의사항
- break 문이 없으면 `폴스루(fall through)` 현상 발생
- default 문은 선택사항
3. 반복문 (Loop Statement)
3.1 for 문
- 조건식이 거짓일 때까지 코드 블록을 반복 실행
for (초기화식; 조건식; 증감식) {
// 조건식이 true인 동안 반복 실행
}
3.2 while 문
- 조건식이 true인 동안 코드 블록을 반복 실행
while (조건식) {
// 조건식이 true인 동안 반복 실행
}
3.3 do...while 문
- 코드 블록을 먼저 실행하고 조건식을 평가
do {
// 최소 한 번은 실행
} while (조건식);
4. break 문과 continue 문
4.1 break 문
- 레이블 문, 반복문, switch 문의 코드 블록을 탈출
var string = 'Hello World';
var search = 'l';
var count = 0;
for (var i = 0; i < string.length; i++) {
if (string[i] !== search) continue;
count++; // 'l'이 있으면 count 증가
if (count === 2) break; // count가 2이면 반복문 탈출
}
4.2 continue 문
- 반복문의 현재 iteration을 중단하고 다음 iteration 실행
for (var i = 0; i < string.length; i++) {
if (string[i] !== search) continue;
count++;
}
5. 레이블 문 (Label Statement)
- `식별자`가 붙은 문
- break나 continue 문의 대상을 지정할 때 사용
foo: {
console.log(1);
break foo;
console.log(2);
}
주의사항
- 레이블 문은 가독성이 나쁘고 오류를 발생시킬 가능성이 높아 일반적으로 권장되지 않음
- break나 continue 문에서 레이블 문을 참조할 때만 제한적으로 사용
728x90
반응형
'프론트엔드 > JavaScript' 카테고리의 다른 글
[모던 자바스크립트 Deep Dive] 10장 - 객체 (2) | 2024.12.17 |
---|---|
견고한 JS 소프트웨어 만들기(1) (1) | 2024.12.03 |
[모던 자바스크립트 Deep Dive] 07장 - 연산자 (3) | 2024.11.19 |
[모던 자바스크립트 Deep Dive] 06장 - 데이터 타입 (2) | 2024.11.18 |
디바운스(Debounce), 쓰로틀(Throttle) (0) | 2024.11.17 |