혼공 자바스크립트 - Chapter 03

몽슈뜨·2022년 11월 2일
0
post-thumbnail

✨03-1 if 조건문

  • if 조건문
    자바스크립트에서 가장 일반적인 조건문은 if 조건문이다.
    불 표현식의 값이 true면 중괄호 안의 문장을 실행하고 false면 문장을 무시합니다.

    if (불 값이 나오는 표현식) {
    	불 값이 참일 때 실행할 문장
     }
    const date = new Date()			// 현재 날짜와 시간을 갖는 객체 생성
    const hour = date.getHours()			// 현재시간을 0~23사이의 값으로 출력하는 메소드
    
    //if 조건문
    if ( hour < 12 ) {			// 표현식 hour < 12 가 참일 때 실행합니다
      alert('오전입니다.');
    }
    
    if ( hour >= 12 ) {			// 표현식 hour >= 12 가 참일 때 실행합니다
      alert('오후입니다.');
    }
    

  • if else 조건문
    조건문을 좀 더 편리하게 사용할 수 있도록 서로 반대되는 상황을 표현하는 구문을 제공합니다
    바로 else구문 입니다.
    else구문은 if조건문 바로 뒤에 붙여서 사용합니다. 이를 조합한 조건문을 if else조건문
    이라고 부릅니다.

    if (불 값이 나오는 표현식) {
    	불 값이 참일 때 실행할 문장
     } else {
       불 값이 거짓일 때 실행할 문장
     }
    const date = new Date()			// 현재 날짜와 시간을 갖는 객체 생성
    const hour = date.getHours()			// 현재시간을 0~23사이의 값으로 출력하는 메소드
    
    //if 조건문
    if ( hour < 12 ) {			// 표현식 hour < 12 가 참일 때 실행합니다
     	alert('오전입니다.');
    } else {					// 표현식 hour < 12 가 거짓일 때 실행합니다
     	alert('오후입니다.');
    }
    

  • 중첩 조건문
    조건문 안에 조건문을 중첩해 사용하는 것을 중첩 조건문이라고 합니다.

    const date = new Date()			// 현재 날짜와 시간을 갖는 객체 생성
    const hour = date.getHours()			// 현재시간을 0~23사이의 값으로 출력하는 메소드
    
    //if 조건문
    if ( hour < 11 ) {			// 표현식 hour < 11 가 참일 때 실행합니다
     	alert('아침 먹을 시간입니다.');
    } else {					// 표현식 hour < 15 가 참일 때 실행합니다
     	if ( hour < 15) {
        alert('점심 먹을 시간입니다.')
    } else {					// // 표현식 hour < 15 가 거짓일 때 실행합니다
     	alert('저녁 먹을 시간입니다.')
    

  • if else if 조건문
    중첩 조건문에서 중괄호를 생략한 형태가 if else if조건문 입니다.
    겹치지 않는 3가지 이상의 조건으로 나눌 때 사용합니다.

    if (불 표현식) {
    	문장
    } else if (불 표현식) {
    	문장
    } else if (불 표현식) {
    	 문장
    } else {
     	문장
    }

✨03-2 switch 조건문과 짧은 조건문

  • switch 조건문
    switch조건문의 기본형태 입니다. default키워드는 생략할 수 있습니다.

    switch (자료) {
      case 조건A : 
        break
      case 조건B :
        break
      default :
        break
    }
    // 변수 선언
    const input = Number(prompt('숫자를 입력하세요.', '숫자'))
    
    // 조건문
    switch (input % 2 ) {			// 나머지 연산자를 사용하여 홀수와 짝수를 구분합니다.
      case 0 :
        alert('짝수입니다.')
        break
      case 1 :
        alert('홀수입니다.')
        break
      default :
        alert('숫자가 아닙니다.')
        break
    }
    

    break키워드는 switchㅈ조건문이나 반복문을 빠져나가기 위해 사용하는 키워드입니다.
    코드를 읽다가 break키워드를 만나면 break키워드를 감싼 switch조건문이나 반복문을
    완전히 빠져나갑니다.
    switch조건문의 괄호 안에는 비교할 값을 입력합니다. 이때 입력한 값을 기준으로 특정 코드를 실행합니다. 만약 입력한 표현식과 case키워드 옆의 표현식이 같다면 case키워드 바로 다음에 오는 문장을 실행합니다. 중괄호는 사용하지 않아도 됩니다.

  • switch 조건문을 if 조건문으로 변환하기

    const date = new Date()			// 현재 날짜와 시간을 갖는 객체 생성
    const hour = date.getHours()			// 현재시간을 0~23사이의 값으로 출력하는 메소드
    
    // 조건문
    switch (true) {
     case hour < 11 :
       alert('아침 먹을 시간입니다.')
       break
     case hour < 15 :
       alert('점심 먹을 시간입니다.')
       break
      default :
       alert('저녁 먹을 시간입니다.')
       break

  • 조건부 연산자
    불 표현식 ? 참일 때의 결과 : 거짓일 때의 결과
    항을 3개 갖는 연산자는 조건부 연산자가 유일해서 삼항 연산자로 부리기도 합니다.

    const input = prompt('숫자를 입력해주세요.',"")    
    const number = Number(input)
    
    const result = (number >= 0) ? '0 이상의 숫자 입니다.' : '0 보다 작은 숫자입니다.'
    	alert(result)

  • 논리합 연산자를 사용한 짧은 조건문
    다음 논리합 연산자를 사용한 표현식은 어떠한 값이 들어가도 항상 참입니다.
    ture || ㅇㅇㅇ

    > true || console.log('실행될까요?')			// 1번
    ture
    
    > false || console.log('실행될까요?')			// 2번
    실행될까요
    undefined
    

    1번은 좌변이 참이므로 우변을 무시합니다. 반면 2번은 좌변은 거짓이므로 우변이 참인지 거짓인지 검사합니다. 우변이 실행되어 '실행될까요?' 라는 문자열을 출력합니다.


  • 논리곱 연산자를 사용한 짧은 조건문
    논리곱 연산자는 양변이 모두 참일 때만 참이기 때문에 다음 표현식은 항상 거짓입니다.
    false && ㅇㅇㅇ
    따라서 논리곱 연산자는 좌변이 거짓이면 우변을 실행하지 않습니다.
    결과가 거짓인 불 표현식 && 불 표현식이 참일 때 실행할 문장
profile
개발자되면 맥북사줄께

0개의 댓글