민희의 코딩일지

[모던자바스크립트 딥다이브] 8장. 제어문 본문

WEB FE/모던자바스크립트 딥다이브

[모던자바스크립트 딥다이브] 8장. 제어문

heehminh 2022. 12. 22. 00:45
반응형

제어문은 조건에 따라 코드블록을 실행하거나 반복 실행할 때 사용된다.

8.1 블록문

블록문은 0개 이상의 문을 중괄호로 묶은 것으로, 코드 블록 또는 블록이라고 부르기도 한다. 자바스크립트는 블록문을 하나의 실행 단위로 취급한다. 블록문의 끝에는 세미콜론을 붙이지 않는다.

8.2 조건문

조건문은 주어진 조건식의 평가 결과에 따라 코드 블록의 실행을 결정한다. 자바스크립트는 if..else문과 switch문으로 두가지 조건문을 제공한다.

8.2.1 if…else 문

if(조건식) { 
    // 조건식이 참이면 이 코드 블록이 실행된다
} else {
    // 조건식이 거짓이면 이 코드 블록이 실행된다
}

if 문의 조건식은 불리언 값으로 평가되어야 한다. 만약 if문의 조건식이 불리언 값으로 평가되지 않으면 암묵적 타입 변환에 의해 강제 변환된다.
대부분의 if..else 문은 삼항 조건 연산자로 바꿔 쓸 수 있다.

var x = 2;
var result;

if (x%2) { // 0은 암묵적 타입 변환에 의해 false로 강제 변환된다. 
    result = "음수";
} else {
    result = "양수";
}

var result = x%2 ? "음수" : "짝수"

8.3 반복문

조건식의 평가 결과가 참인 경우 코드 블록을 실행한다. 조건식이 거짓일 때까지 반복된다.
for문은 반복 횟수가 명확할 때 주로 사용하고 while문은 반복 횟수가 불명확할 때 주로 사용한다.

8.3.1 for 문

for (변수 선언문 또는 할당문; 조건식; 증감식) {
		조건식이 참인 경우 반복 실행될 문;
}

8.3.2 while 문

var count = 0;
while (count<3) {
    console.log(count);
    count++;
}

// 무한루프
while(true) { ... }

8.3.3 do..while 문

코드 블록을 먼저 실행하고 조건식을 평가한다. 따라서 코드 블록은 무조건 한 번 이상 실행된다.

var count = 0;

do {
    console.log(count);
    count ++;
} while (count<3);

8.4 break 문

break 문은 코드 블록을 탈출한다.

8.5 continue 문

continue 문은 반복문의 코드 블록 실행을 현 지점에서 중단하고 반복문의 증감식으로 실행 흐름을 이동시킨다. break 문처럼 반복문을 탈출하지는 않는다.

// 문자열에서 특정 문자의 개수를 세는 예
var string = "Hello world.";
var search = "l";
var count = 0;

for (var i=0; i<string.length; i++) {
    if(string[i] !== search) continue;
    count++;
}
반응형
Comments