자바스크립트 제어문 - Do It 자바스크립트 기본편
제어문 : 조건에 따라 소스의 실행 순서를 바꾸거나 특정 부분을 반복하는 등 실행 흐름을 조절한다.
If문, If…else문
1) if문
if문과 else문의 명령이 1줄인 경우 중괄호를 생략하기도 함.
if(age ≥ 18) alert("성인입니다");
else alert("미성년입니다");
2) 조건 연산자
조건이 하나이고 true/false일 때 실행할 명령도 하나뿐이라면 if…else문 대신 조건 연산자를 사용할 수 있음.
(score ≥ 60) ? alert("통과") : alert("실패");
3) truthy값과 falsy값
(true로 인정할 수 있는 값, false로 인정할 수 있는 값)
falsy값
0
" "(빈 문자열)
NaN(Not a Number, 숫자가 아님. 보통 변수를 선언만 하고 값을 할당하지 않은 상태에서 연산을 했을 때 볼 수 있는 값)
undefined
null
=> falsy값을 제외한 나머지 값은 truty값이 됨.
*if…else문을 만들 때 true가 될 가능성이 높은 조건을 if문의 조건으로 설정하면 프로그램 실행시간을 줄일 수 있다.
switch문
조건이 많을 때 흐름 조절하기 위해 사용.
조건이 3개 이상일 때는 if…else문을 중첩하여 사용하기보다는 switch문을 사용 → 한꺼번에 여러 개의 조건을 확인할 수 있다.
break;
명령을 실행한 후에는 switch문을 빠져나오도록 함
(break;를 작성하지 않으면 다음에 오는 조건들의 명령이 모두 실행된 후 switch문이 종료됨)
default: alert("일치하는 조건이 없습니다");
case문에서 지정한 조건 값과 전부 일치하지 않을 때 실행할 명령. default:에서는 break문을 사용하지 않음
for문
값이 일정하게 커지면서 명령을 반복 실행할 때, 많은 양의 연산을 처리해야할 때 사용.
for(var i=0; i<5; i++) {
//반복 실행할 명령
}
i - 카운터 변수. for문에서만 사용할 카운터 변수. for문을 실행할 때 반복 횟수의 기준이 된다.
◆ [ES6] : for…of문
인덱스를 사용하지 않고 값을 기준으로 반복.
let seasons = ["봄", "여름", "가을", "겨울"];
for (let value of seasons) {
console.log(value);
}
while문, do…while문
1) for문 vs while문, do...while문
for문 : 횟수가 정해져있는 반복 명령을 작성할 때(초깃값이 있으면서 일정한 간격으로 반복)
while문, do…while문 : 특정 조건을 만족하는 동안 명령을 반복할 때
(초깃값이나 반복 간격이 없고 조건만 주어지기 때문에 그 조건을 만족하는 동안 반복)
2) while문
var i = 0;
while (i < 10) {
document.write('반복 조건이 true면 반 복<br>');
}
조건부터 확인하고 실행 여부 결정
(조건이 false일 경우 단 한번도 실행되지 않을 수 있음)
3) do…while문
명령을 먼저 실행한 후 조건 확인.
(조건이 false이더라도 명령이 최소한 한 번은 실행됨.)
break문, continue문
반복을 멈추거나(break) 건너뛰기(continue). 반복문의 흐름을 조절.
1) break문
특정 지점에서 반복문을 중단하고 반복문에서 빠져나옴.
2) continue문
다음에 오는 명령들을 건너뛰고 반복문의 시작 지점으로 되돌아감.
※ 출처 : Do It 자바스크립트 기본편, 4장 흐름을 제어한다! 제어문