프론트엔드

자바스크립트 제어문 - Do It 자바스크립트 기본편

seomoon 2019. 12. 26. 07:00

제어문 : 조건에 따라 소스의 실행 순서를 바꾸거나 특정 부분을 반복하는 등 실행 흐름을 조절한다.

 

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장 흐름을 제어한다! 제어문