제어문
- 조건문
- 반복문
0개 이상의 문을 중괄호로 묶은 것. 코드 블록 또는 블록이라고도 부름.
- 하나의 실행 단위로 취급
제어문이나 함수를 정의할 때 사용- 끝에 세미콜론
;
을 붙이지 않는다.
// 일반 블록문
{
var foo = 10;
}
// 제어문
var x = 1;
if (x<10){
x++;
}
// 함수 선언문
function sum(a,b){
return a + b;
}
주어진 조건식의 평가 결과에 따라 코드 블록(블록문)의 실행을 결정한다.
(true
or false
)
if(조건식){
//조건식이 참이면 이 코드 블록이 실행된다.
}else{
//조건식이 거짓이면 이 코드 블록이 실행된다.
}
if(조건식1){
//조건식1이 참이면 이 코드 블록이 실행된다.
}else if(조건식2){
//조건식2이 거짓이면 이 코드 블록이 실행된다.
}else{
//조건식1과 조건식2 모두 거짓이면 이 코드 블록이 실행된다.
}
//삼항 연산 조건자 - 홀수 또는 짝수 찾기
var x = 2; //
var result = x % 2 : '홀수' : '짝수'; // 결과값 0이 false로 취급된다.
//삼항 연산 조건자 - 홀수 또는 짝수 또는 '0' 찾기
var kind = num ? (num > 0 ? '양수' : '음수') : '0' ;
switch (표현식){
case 표현식1:
switch 문의 표현식과 표현식1이 일치하면 실행될 문;
break;
case 표현식2:
switch 문의 표현식과 표현식2이 일치하면 실행될 문;
break;
default:
switch 문의 표현식과 일치하는 case문이 없을 때 실행될 문;
}
switch 문의 표현식과 일치하는 case문이 없다면 실행 순서는 default 문으로 이동한다.
조건식의 평가 결과가 참인 경우 코드 블록을 실행한다. 그 후 조건식을 다시 평가하여 여전히 참인 경우 코드블록을 다시 실행하여 조건식이 거짓일 때까지 반복한다.
반복 횟수가 명확할 때 주로 사용한다.
for (변수 선언문 또는 할당문; 조건식; 증감식){
조건식이 참인 경우 반복 실행될 문;
}
for (var i = 0; i < 2; i++){
console.log(i)
} // --> 0, 1 출력
for (;;) { ... }
반복 횟수가 불명확할 때 주로 사용한다.
var count = 0;
while (count < 3) {
console.log(count);
count++;
} // --> 0, 1, 2 출력
조건식의 평가 결과가 언제나 참이면 무한루프가 된다.
while (true) { ... }
무한루프에서 탈출하기 위해서는 코드 블록 내에 if문으로 탈출 조건을 만들고 break문으로 코드블록을 탈출한다.
var count = 0;
while (true) {
console.log(count);
count++;
if (count === 3) break;
} // --> 0, 1, 2 출력
코드블록을 먼저 실행하고 조건식을 평가한다. 코드블록은 무조건 한 번 이상 실행된다.
var count = 0;
do{
console.log(count); // 0 1 2
count++;
} while (count < 3);
foo: - {console.log('foo')}
, 반복문의 코드 블록 실행을 현 지점에서 중단하고 반복문의 증감식으로 실행 흐름을 이동시킨다.
출처 : 이웅모, 『모던 자바스크립트 deep dive』, 위키북스(2020), p93-107.