[JS] 조건문

뭉크의 개발·2021년 9월 8일
0

조건문

if 조건문

  • 자바스크립트에서 가장 일반적인 조건문
  • 형태
if(불 표현식) {
문장
}
  • 불(불리언)표현식이 true면 문장 실행.

  • false면 문장 무시.
    (조건문에 의해 여러 문장을 실행할 때는 중괄호로 감싸야 함.)

  • 예제(1) : 실행결과 '종료'가 입력된 경고창만 출력.

<script>
    // 조건문
    if (273 < 100) {
        //표현식 "273 < 100"이 참일 때 실행합니다.
        alert('273 < 100 => true');
        }
    // 프로그램 종료
    alert('종료');
</script>
  • 예제(2) : 시간과 관련된 다른 속성.
<script>
    var date = new Date();
    var hour = data.getHours();
    if(hour<12) {
            alert('오전입니다.');
    }
    if(hour>=12) {
            alert('오후입니다.');
    }
 </script)

if else 조건문

  • 서로 반대되는 조건에 사용하는 조건문.
  • else 키워드는 if 조건문과 함께 사용하는 키워드(if 조건문의 바로 뒤에 붙여 사용)
  • 조건문의 형태
 if (불 표현식) {
      문장 A
 } else {
      문장 B
 }
 <script>
      var data = new Date();
      var hour = data.getHours();
      if(hour<12) {
               alert('오전입니다.');
      } else {
               alert('오후입니다.');
      }
  </script>

중첩 조건문

  • 조건문 안에 조건문을 중첩해 사용하는 형식.
  • 중첩 조건문의 형태(여러 번 중첩해도 상관 없음.)
  if (불 표현식) {
      if (불 표현식) {
          문장
      } else {
          문장
      }
   } else {
       if (불 표현식) {
           문장
       } else {
           문장
       }
   }
  • 진행과정
   <script>
        //변수를 선언합니다.
        var date = new Date();
        var hour = date.getHoues();
        
        // 조건문
        if (hour < 11) {
            // "hour < 11"이 참일 때 실행합니다.
            alert('아침 먹을 시간입니다.');
        } else {
        // "hour < 11"이 거짓일 때 실행합니다.
        if (hour < 15) {
            // "hour < 15"가 참일 때 실행합니다.
            alert('점심 먹을 시간입니다.');
        } else {
            // "hour < 15"가 거짓일 때 실행합니다.
            alert('저녁 먹을 시간입니다.');
        }
     }
     </script>

if else if 조건문

  • if else if 조건문의 형태.
  • 중첩 조건문을 if else if 조건문의 형태로 변경. -> 한 쌍의 중괄호를 삭제
if (불 표현식) {
    문장
} else if {
    문장
} else if {
    문장
} else {
    문장
}
  • if else if 조건문 실습
  1. 사용자에게 숫자를 입력 받아 양수, 0, 음수를 구분하는 프로그램
  2. 사용자에게 숫자를 입력 받아 홀수와 짝수를 구분하는 프로그램
  3. 사용자에게 국어, 영어, 수학 점수를 입력 받아 평균을 구한 뒤 수우미양가를 구분하는 프로그램

switch 조건문

  • switch 조건문의 기본 형태
  • default 부분은 생략 가능
switch (비교할 값) {
   case 값:
        문장
        break;
   case 값:
        break;
   default:
        문장
        break;
 }

break 키워드의 의미

  • switch 조건문이나 반복문을 빠져 나가려고 사용하는 키워드
  • switch 조건문의 괄호 안에는 비교할 값을 입력.
  1. 입력한 값을 기준으로 특정 코드 실행
  2. 입력한 표현식과 case 키워드 옆의 표현식이 같음 => case 키워드 바로 다음에 오는 문장 실행.
  • switch 조건문과 if 조건문 변환
    : 범위를 조건으로 가지는 if 조건문 - switch 조건문으로 대체 어려움.
<script>
    // 변수를 선언합니다.
    var date = new Date();
    var hour = date.getHours();
    
    // 조건문
    switch (true) {
       case hour < 11:
            // "hour < 11"이 참일 때 실행합니다.
            alert('아침 먹을 시간입니다.');
            break;
       case hour < 15:
           // "hour < 11"이 거짓이고 "hour <15"이 참일 때 실행합니다.
           alert('점심 먹을 시간입니다.');
           break;
       default:
          // "hour < 15"가 거짓일 때 실행합니다.
          alert('저녁 먹을 시간입니다.');
          break;
       }
</script>

삼항 연산자

  • 연산자지만 프로그램의 진행이 조건에 따라 변화 가능
  • 삼항 연산자의 기본적인 형태
    (불리언 표현식)?(참일 때 실행하는 문장):(거짓일 때 실행하는 문장)
  • 삼항 연산자는 한 줄로 표시할 수 있을 때만 사용
  • 코드 길이를 줄일 수 있다는 장점
  • 예제
  • 숫자의 부호를 비교하고 자연수인지 아닌지 판별하는 예제
<script>
  // 변수를 선언합니다.
  var input = prompt('숫자를 입력해주세요.','');
  var number = Number(input);
  
  // 조건문
  (number > 0) ? alert('자연수입니다.') : alert('자연수가 아닙니다.');
</script>

짧은 조건문

  • 논리 연산자가 가지고 있는 특성을 조건문으로 사용

  • 다음 논리합 연산자를 사용한 표현식은 뒤에 어떠한 값이 들어가도 항상 참.
    Short circuit 적용.

  • true || OOO

  • 코드 첫 번째 문장 : 좌변이 참이므로 우변 무시

  • 코드 두 번째 문장 : 좌변이 거짓이므로 우변이 참인지 거짓인지 검사

<script>
   true || alert('실행될까요...A');
   false || alert('실행될까요...B');
</script>

논리합 연산자를 이용한 짧은 조건문

  • 논리합 연사자
    (불 표현식) || (불 표현식이 거짓일 때 실행할 문장)

  • 논리곱 연산자
    (불 표현식) && (불 표현식이 참일 때 실행할 문장)

indexOf() 메서드

  • 앞의 문자열에서 뒤의 문자열이 포함되면, 그 시작 인덱스 리턴.
  • 포함되지 않으면 -1 리턴.
<script>
     var output = "안녕하세요."indexOf("안녕");
     alert(output);
</script>

0개의 댓글