8장. 제어문

유준상·2022년 1월 30일
1
  • 제어문의 종류

    조건문: 조건에 따라 코드 블록을 실행
    반목문: 조건에 따라 코드 블록을 반복 실행
    --> 위에서 아래 방향으로 순차적으로 실행되는 코드의 실행 흐름을 제어할 수 있음.

  • 블록문

    --> 하나의 실행 단위, 자체 종결성을 지니므로 세미콜론 사용 X

  • 조건문

    --> 주어진 조건식의 평가 결과에 따라 코드 블록의 실행을 결정

    if ...else문

    --> 논리적 참 또는 거짓에 따라 실행할 코드 블록을 결정
         true일 경우: if문 코드 블록 실행
         false일 경우: else문 코드 블록 실행
         else if: 조건식 추가

    var num = 2;
    var kind;
    //if문
    if (num > 0) {
     kind = '양수';
    }
    //if ...else문
    if (num > 0) {
     kind = '양수';
    }
    else {
     kind = '음수';
    }
    //if ...else if 문
    if (num > 0) {
     kind = '양수';
    }
    else if (num < 0) {
     kind = '음수';
    }
    else {
     kind = 'zero';
    }

    --> if ...else문은 삼항 조건 연산자로 바꿔 쓸 수 있다. (? :)

    if ...else vs 삼항 조건 연산자

    if... else: 값으로 사용 X, 변수에 할당 불가능
    삼항 조건 연산자: 값으로 평가되는 표현식, 변수에 할당 가능

    switch문

    --> 주어진 표현식을 평가하여 그 값과 일치하는 표현식을 갖는 case문

    switch (표현식) {
     case 표현식1:
       switch 문의 표현식과 표현식 1이 일치하면 실행될 문;
       break;
     case 표현식2:
       switch 문의 표현식과 표현식 2이 일치하면 실행될 문;
       break;
     default:
       switch 문의 표현식과 일치하는 case 문이 없을 때 실행될 문;
    }

    * 각 case문 뒤에는 break 문 삽입 필수 (없으면 빠져나오지 않고 다음 case로 넘어감)
    * default문 뒤에는 일반적으로 break 문 생략

    if ...else문 vs switch문

    if ...else문: 조건식이 불리언 값으로 평가
    switch문: 조건식이 문자열이나 숫자인 경우가 많음 (다양한 케이스에 따라 실행)

  • 반복문

    --> 조건식의 평가 결과가 참인 경우 코드 블록을 실행 (조건식이 거짓일 때까지 반복)

    for문 (중요 !!)

    --> 조건식이 거짓으로 평가될 때까지 코드 블록을 반복 실행

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

    ex) 중첩 for문 (주사위 던지기)

    for (var i = 1; i <= 6; i++) {
       for (var j = 1; j <= 6; j++) {
         if (i + j === 6) console.log(`[${i} + ${j}]`);
       }
    }

    while문

    --> 조건식의 평가 결과가 참이면 코드 블록을 계속해서 반복 실행

    for vs while

    for: for문은 반복횟수가 명확하다.
    while: while문은 반복 횟수가 불명확하다.

    do ...while문

    --> 코드 블록을 먼저 실행하고 조건식을 평가 (최소 1번 이상 무조건 실행)

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

    --> break문은 레이블 문, 반복문, switch문의 코드 블록을 탈출시킨다.
    break문은 조건문에 쓰이지 않는다. 문법 오류 발생!!

  • continue문

    --> 반복문의 코드 블록 실행을 현 지점에서 중단하고 반복문의 증감식으로 실행 흐름을 이동 (탈출하지는 않음, 해당 문이 실행되지 않고 넘어간다.)
    ex) 문자열에 특정 문자 반복 횟수 구하기

    var string = 'hello world';
    var search = 'l';
    var count = 0;
    for (var i = 0; i <= string.length; i++) {
     if (string[i] !== search) continue;
     count++;
    }
    //search에 해당되지 않는 문자이면, count++를 실행하지 않고 넘어간다.
      
profile
웹사이트 개발과 신발을 좋아하는 학생입니다.

0개의 댓글

관련 채용 정보