: 조건에 따라 코드 블록을 실행하거나 반복 실행할 때 사용한다.(조건문/반복문)
코드의 실행 흐름을 인위적으로 제어
할 수 있다.0개 이상의 문을 중괄호로 묶은 것.
코드 블록
또는 블록
이라고 부르기도 한다.자체 종결성
을 갖기 때문에 끝에 세미콜론을 붙이지 않는다.{
var foo = 10;
}
조건식의 평가 결과에 따라 블록문의 실행을 결정한다.
: 조건식의 평가 결과(Boolean 값
)에 따라 실행할 코드 블록을 결정한다.
(대부분의 if else 문은 삼항 조건 연산자로 바꿔쓸 수 있다.)
if(조건식 1){
// 조건식 1이 참이면 실행
} else if(조건식 2) {
// 조건식 2가 참이면 실행
} else{
// 조건식 1, 2가 모두 거짓이면 실행
}
if(조건식 1) // 조건식 1이 참이면 실행
else if(조건식 2) // 조건식 2가 참이면 실행
else // 조건식 1, 2가 모두 거짓이면 실행
주어진 표현식을 평가하여 그 값과 일치하는 표현식을 갖는 case문으로 실행 흐름을 옮긴다.
switch(표현식){
case 표현식1 :
// 실행될 문
break;
case 표현식2 :
// 실행될 문
break;
default;
// 실행될 문
}
if else 와 switch의 차이
- if else 문은
논리적 참, 거짓
으로 실행할 코드 블록을 결정한다.- switch 문은 논리적 참, 거짓보다는
다양한 상황
에 따라 실행할 코드 블록을 결정할 때 사용한다.
fall through
라고 한다. break
는 코드 블록에서 탈출하는 역할을 한다.조건식의 평가 결과가 참인 경우 코드 블록을 실행하고, 조건식이 거짓일 때까지 반복한다.
조건식이 거짓으로 평가될 때까지 코드 블록을 반복 실행한다.
for(변수 선언문 또는 할당문; 조건식; 증감식){
조건식이 참인 경우 반복 실행될 문;
}
변수 선언문의 변수 이름은 반복을 의미하는 iteration의 i
를 사용하는 것이 일반적이다.
변수 선언문, 조건식, 증감식은 모두 옵션이므로 반드시 사용할 필요는 없다.
중첩 for문으로도 사용가능하다.
주어진 조건식의 평가 결과가 참이면 코드 블록을 계속해서 반복 실행한다.
while(조건식){
조건식이 참인 경우 반복 실행될 문;
}
for 문과 while 문의 차이점
for 문은 반복 횟수가
명확
할 때 주로 사용한다.
while 문은 반복 횟수가불명확
할 때 주로 사용한다.
코드 블록을 먼저 실행하고 조건식을 평가한다.
따라서 코드 블록은 무조건 한 번 이상 실행된다.
do {
조건식이 참인 경우 반복 실행될 문;
} while(조건식)
레이블 문, 반복문, switch 문의 코드 블록을 탈출한다.
(이외에 break 문을 사용하면 SyntaxError가 발생한다.)
: 식별자가 붙은 문
case
와 break
도 모두 레이블 문이다.⭐️ 중첩된 for 문에서 내부 for 문이 아닌 외부 for 문을 탈출하려면 레이블 문을 사용한다.
가독성이 나빠지고 오류를 발생시킬 가능성이 높아지기 때문에 이외의 경우에는 일반적으로 권장되지 않는다.
outer : for(var i=0;i<3;i++){
for(var j=0;j<3;j++){
if(i + j === 3) break outer;
}
}
반복문의 코드 블록 실행을 현 지점에서 중단하고 반복문의 증감식으로 실행 흐름을 이동시킨다.
var string = 'Hello World';
var search = 'l';
var count = 0;
fot(var i=0;i<string.length;i++){
if(string[i] !== search) continue; // 일치하지 않는 경우 아래 코드가 실행되지 않음.
count++;
}