자바스크립트 조건문
📌 조건 분기
조건에 따라 코드가 실행할 수 도 있고 실행하지 않을 수도 있다.
코드가 실행되는 흐름을 변경하는 것
📌 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 |