본문 바로가기

JavaScript

자바스크립트 조건문

728x90

자바스크립트 조건문

 

📌 조건 분기

조건에 따라 코드가 실행할 수 도 있고 실행하지 않을 수도 있다.

코드가 실행되는 흐름을 변경하는 것 

 

📌 if 조건문

if(불 값이 나오는 표현식){
	불 값이 참일 때 실행할 문장
}

📌 현재 시간을 구하는 코드

> const date = new Date()
undefined

> date.getFullYear()
2022

> date.getMonth() + 1
11

> date.getDate()
2

> date.getHours()
11

> date.getSeconds()
6

 

 

📌 오전과 오후 비교하기

    <script>
        const date = new Date()
        const hour = date.getHours()

        if(hour < 11) {
            alert('아침 먹을 시간입니다.')
        } else if(hour < 15) {
            alert('점심 먹을 시간입니다.')
        } else {
            alert('저녁 먹을 시간입니다.')
        }
    </script>

if 조건문과 마찬가지로 문장이 하나일때는 중괄호{}를 생략할 수 있으나, 여러 문장일 때는 중괄호로 감싸야 한다.


📌 사용자로 부터 숫자 2개 입력받아 비교하기

    <script>
        const a = Number(prompt('첫 번째 숫자',''))
        const b = Number(prompt('두 번째 숫자',''))

        if(a > b) {
            alert('첫 번째로 입력한 숫자가 더 큽니다.')
        } else if(a == b) {
            alert('두 숫자가 같습니다.')
        } else {
            alert('두 번째로 입력한 숫자가 더 큽니다.')
        }
    </script>

prompt문은 문자열을 입력받는 것이므로 문자열을 정수로 변환해줘야 한다.

 

📌 숫자를 입력받아 양수, 0, 음수 구분하기

    <script>
        const a = Number(prompt('숫자를 입력해주세요.',''))
        
        if(a < 0) {
            alert('숫자는 음수 입니다.')
        } else if (a == 0) {
            alert('숫자는 0 입니다.')
        } else {
            alert('숫자는 양수 입니다.')
        }
    </script>

📌 숫자를 입력 받아 홀수, 짝수 구분

    <script>
        const a = Number(prompt('숫자를 입력해주세요.',''))
        
        if(a % 2 == 0) {
            alert('숫자는 짝수입니다.')
        } else {
            alert('숫자는 홀수입니다.')
        }
    </script>

홀수, 짝수 구분하기 위해서는 2로 나눴을때 나머지가 0인지, 1인지로 구분한다.

 

📌 홀수

Number % 2 == 1

 

📌 짝수

Number % 2 == 0

📌 월을 입력받아 봄, 여름, 가을, 겨울 구분하기

    <script>
        const a = Number(prompt('월을 입력해주세요.',''))
        
        if(a>=3 && a<=5) {
            alert('봄 입니다.')
        } else if(a>=6 && a<=7) {
            alert('여름 입니다.')
        } else if(a>=9 && a<=11) {
            alert('가을 입니다.')
        } else if(a==12 || a==1 || a==2) {
            alert('겨울 입니다.')
        } else {
            alert('존재 하지 않는 월입니다.')
        }
    </script>

봄 3~5월, 여름 6~8월, 가을 9~11월, 겨울 12~2월

입력값이 1~12로 제한되어 있으나, 잘못 입력할 수도 있으므로 입력값에서 벗어난 값을 입력할 경우, '존재하지 않는 월입니다.' 라는 알람을 출력하도록 했습니다.

 


📌 switch 조건문

switch(조건){
	case 조건A:
    		break
	case 조건B:
    		break
	default:
    		barek
}

break가 없다면 다음 조건문도 수행. default 키워드는 생략할 수 있습니다.

 

 

📌 홀수 짝수 구분

    <script>
        const input = Number(prompt('월을 입력해주세요.','숫자'))
        
        switch (input % 2) {
            case 0:
                alert('짝수입니다.')
                break
            case 1:
                alert('홀수입니다.')
                break
            default:
                alert('숫자가 아닙니다.')
                break
        }
    </script>

📌 조건부 연산자(삼항 연산자)

불 표현식? 참일 때 결과 : 거짓일 때 결과

 

📌 조건부 연산자 사용해 0이상의 수인지 아닌지 구분

    <script>
        const input = prompt('숫자를 입력해주세요.','')
        const number = Number(input)

        const result = (number >= 0)? '0 이상의 숫자입니다.' : '0 보다 작은 숫자입니다.'
        alert(result)
    </script>

📌 짧은 조건문

불 표현식 || 불 표현식이 거짓일 때 실행할 문장
> true || console.log('실행될까요?')
true

> false || console.log('실행될까요?')
실행될까요?

OR 연산자는 둘중에 하나가 true이면 실행됩니다.

좌변이 true로 확신한다면, 추가 연산자를 진행하지 않습니다.

하지만 둘중에 하나가 false인 상태이면 그 다음 우변을 실행시켜 true로 만들어주는 것입니다.

 

결과가 거짓인 불 표현식(false) && 불 표현식이 참일 때 실행할 문장

AND 연산자는 모두 참일때만 참이기 때문에 다음 표현식은 항상 거짓입니다.

따라서 좌변이 항상 거짓이면, 우변을 실행하지 않습니다.


태어난 연도의 띠 출력하기

 

📌 if-else if 조건문 이용

    <script>
        const rawInput = prompt('태어난 해를 입력해주세요.','')
        const year = Number(rawInput)
        const e = year % 12

        let result
        if(e == 0){result = '원숭이'}
        else if(e == 1){result = '닭'}
        else if(e == 2){result = '개'}
        else if(e == 3){result = '돼지'}
        else if(e == 4){result = '쥐'}
        else if(e == 5){result = '소'}
        else if(e == 6){result = '호랑이'}
        else if(e == 7){result = '토끼'}
        else if(e == 8){result = '용'}
        else if(e == 9){result = '뱀'}
        else if(e == 10){result = '말'}
        else if(e == 11){result = '양'}

        alert(`${year}년에 태어났다면 ${result} 띠 입니다.`)
    </script>

 

📌 switch문 이용

    <script>
        const rawInput = prompt('태어난 해를 입력해주세요.','')
        const year = Number(rawInput)
        const e = year % 12

        let result

        switch(e) {
            case 0: 
                result = '원숭이' 
                break
            case 1: 
                result = '닭'
                break
            case 2: 
                result = '개'
                break
            case 3: 
                result = '돼지'
                break
            case 4: 
                result = '쥐'
                break
            case 5: 
                result = '소'
                break
            case 6: 
                result = '호랑이'
                break
            case 7: 
                result = '토끼'
                break
            case 8: 
                result = '용'
                break
            case 9: 
                result = '뱀'
                break
            case 10: 
                result = '말'
                break
            case 11: 
                result = '양'
                break
        }

        alert(`${year}년에 태어났다면 ${result} 띠입니다.`)
    </script>

switch문을 쓸때는 각 case문에 break를 안써줄 경우, 다음 case로 넘어간다.

이점에 유의해야 한다.

 

📌 split문자열 이용

    <script>
        const rawInput = prompt('태어난 해를 입력해주세요.','')
        const year = Number(rawInput)
        const tti = '원숭이, 닭, 개, 돼지, 쥐, 소, 호랑이, 토끼, 용, 뱀, 말, 양'.split(',')

        alert(`${year}년에 태어났다면 ${tti[year % 12]} 띠 입니다.`)
    </script>

tti 문자열 0번 인덱스에는 원숭이, 1번 인덱스에는 닭...

 

📌 간이랑 띠 병합해서 출력하기

    <script>
        const rawInput = prompt('태어난 해를 입력해주세요.','')
        const year = Number(rawInput)
        
        let gan = '경,신,임,계,갑,을,병,정,무,기'.split(',')

        let tti = '신,유,술,해,자,축,인,묘,진,사,오,미'.split(',')

        alert(`${year}년은 ${gan[year % 10]}${tti[year % 12]} 년입니다`)
    </script>

년도 10으로 나눴을때 나머지

4 5 6 7 8
9 0 1 2 3

 

년도 12으로 나눴을때 나머지

4 5 6 7 8
9 10 11 0 1
2 3            

참고한 책 : 혼자 공부하는 자바스크립트

'JavaScript' 카테고리의 다른 글

자바스크립트 반복문  (0) 2022.11.03
자바스크립트 배열  (0) 2022.11.02
자바스크립트 자료형 변환  (0) 2022.11.01
자바스크립트 상수와 변수  (0) 2022.11.01
자바스크립트 기본 자료형  (2) 2022.11.01