ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 8장 제어문
    FrontEnd/JavaScript 2021. 12. 22. 00:47
    반응형

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

    제어문을 사용하면 코드의 실행 흐름을 인위적으로 제어할 수 있다.

    8.1 블록문

    블록문은 0개 이상의 문을 중괄호로 묶은 것이다.

    블록문은 언제나 문의 종료를 의미하는 자체 종결성을 갖기 때문에 블록문의 끝에 세미콜론을 붙이지 않는다.

    {

    var foo = 10

    }

    8.2 조건문

    조건문은 주어진 조건식의 평가 결과에 따라 코드 블록의 실행을 결정한다.

    JS는 if...else 문과 swtich문으로 두 가지 조건문을 제공한다.

    8.2.1 if...else 문

    if(조건식) {

    } else { }

    조건식은 불리언 값으로 평가되어야 한다.

    else if문은 여러번 사용할 수 있다.

    코드 블록 내의 문이 하나뿐이라면 중괄호를 생략할 수 있다.

    if...else문은 값처럼 사용할 수 없기 때문에 변수에 할당할 수 없다.

    따라서 삼항 조건 연산자를 사용하는 편이 가독성이 좋다( ? : )

    8.2.2 switch문

    switch문은 주어진 표현식을 평가하여 그 값과 일치하는 표현식을 갖는 case문으로 실행 흐름을 옮긴다.

    switch(표현식) {

    case 표현식1 :

        switch 문의 표현식과 표현식1이 일치하면 실행될 문;

        break;

    case 표현식2 :

        switch 문의 표현식과 표현식2이 일치하면 실행될 문;

        break;

    defalut :

        switch 문의 표현식과 일치하는 case가 없을때 실행될 문;

    }

    switch문의 표현식은 불리언 값보다는 문자열이나 숫자 값인 경우가 많다.

    defalut문에는 break문을 생략하는 것이 일반적이다. 왜냐하면 대부분 문의 맨 마지막에 위치하기 때문이다.

    8.3 반복문

    조건식이 거짓일 때까지 반복된다.

    8.3.1 for문

    for문은 조건식이 거짓으로 평가될 때까지 코드 블록을 반복 실행한다.

    for(변수 선언문 또는 할당문; 조건식; 증감식) {

    조건식이 참인 경우 반복 실행될 문

    }

    8.3.2 while문

    while문은 주어진 조건식의 평가 결과가 참이면 코드 블록을 계속해서 반복 실행한다.

    for문은 반복횟수가 명확할 때 사용하는 반면에 while문은 불명확할 때 사용한다.

    while문은 조건문의 평가 겨로가가 거짓이 되면 코드 블록을 실행하지 않고 종료한다.

    무한루프가 걸릴 수 있기 때문에 if문으로 조건을 만들고 break문으로 코드 블록을 탈출한다.

    8.3.3 do...while문

    do...while문은 코드 블록을 먼저 실행하고 조건식을 평가한다.

    따라서 무조건 한 번 이상 실행된다.

    8.4 break문

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

    레이블문(식별자가 붙은 문), 반복문, switch문의 코드블록 외에 break문을 사용하면 Syntax Error가 발생한다.

    내부for문이 아닌 외부 for문을 탈출하려면 레이블 문을 사용한다 ex) outer : for(var i =0; i < 3; i++), break outer

    8.5 continue문

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

    break문처럼 반복문을 탈출하지는 않는다.

    반응형

    'FrontEnd > JavaScript' 카테고리의 다른 글

    10장 객체 리터럴  (0) 2021.12.24
    9장 타입 변환과 단축평가  (0) 2021.12.23
    7장 연산자  (0) 2021.12.20
    6장 데이터 타입  (0) 2021.12.10
    5장 표현식과 문  (0) 2021.12.05

    댓글

Designed by Tistory.