03-1. if 조건문
- 제어문(control statement) : 코드의 실행 흐름과 직접적인 관련이 있는 문장
if 조건문
- 형태 ⇒
if(불 표현식){
문장
문장
}
→ 불 표현식이 true이면 괄호 안 문장 실행, false이면 실행 X
<script>
if (27 < 10) {
alert('27 < 10 은 true이다.')
}
alert('종료')
</script>
⇒ 종료만 출력됨
날짜와 시간 구하기
const date = new Date()
date.getFullYear() //올해
date.getMonth() //월 (0~11) -> 1월이 0으로 나타난다
date.getDate() //일 (1~31)
date.getHours() //시간 (0~23)
오전 오후 구분하는 코드 짜보기!
<script>
const date = new Date()
const hours = date.getHours()
if(hours < 12){
alert('오전입니다')
}
if(hours >= 12){
alert('오후입니다')
}
</script>
- ctrl + F : 전체 수정 기능 제공!
if else 조건문
if(불_표현식){
//불 표현식이 true 일 때 실행하는 문장
} else{
//불 표현식이 false 일 때 실행하는 문장
}
시간 별로 식사 알림 코드 짜보기
- 오전 10시 이전 → 아침밥 먹을 시간입니다
- 오전 10시 ~ 오후 4시 → 점심밥 먹을 시간입니다
- 오후 4시 이후 → 저녁밥 먹을 시간입니다
<script>
const hours = (new Date()).getHours()
if(hours < 10){
alert('아침밥 시간입니다')
}
if(10 <= hours && hours < 16){
alert('점심밥 시간입니다')
}
if(16<= hours){
alert('저녁밥 시간입니다')
}
</script>
⏬⏬⏬⏬⏬⏬⏬⏬ 중첩 조건문으로 고쳐보기
<script>
const hours = (new Date()).getHours()
if(hours < 10){
alert('아침밥 시간입니다')
}else{
if(10 <= hours && hours < 16){
alert('점심밥 시간입니다')
}
else{
alert('저녁밥 시간입니다')
}
}
</script>
<script>
const hours = (new Date()).getHours()
if(hours < 10){
alert('아침밥 시간입니다')
} else if(10 <= hours && hours < 16){
alert('점심밥 시간입니다')
} else{
alert('저녁밥 시간입니다')
}
</script>
확인문제1 / 3번
확인문제2 / Number , Number, a > b, a===b
확인문제3 / &&
확인문제4
<script>
const a = Number(prompt('숫자를 입력해주세요.',''))
if(a > 0){
alert('양수입니다.')
}else if(a === 0){
alert('0입니다.')
}else{
alert('음수입니다.')
}
</script>
확인문제5
<script>
const a = Number(prompt('숫자를 입력해주세요.',''))
if(a % 2 == 0){
alert('입력한 숫자는 짝수입니다.')
}else{
alert('입력한 숫자는 홀수입니다.')
}
</script>
확인문제6
<script>
const a = Number(prompt('월을 입력해주세요.',''))
if(a >= 3 && a <= 5){
alert('봄 봄 봄 봄이 왔네요')
}else if(a >= 6 && a <= 8){
alert('여름이다~~~')
}else if(a >= 9 && a <= 11){
alert('나 가을타나봐')
}else if((a === 12) || (a >= 1 && a <= 2)){
alert('겨울이네.....')
}
</script>
03-2 switch 조건문과 짧은 조건문
switch 조건문
<script>
const a = Number(prompt('1에서 3사이의 숫자를 입력해주세요.',''))
switch(a){
case 1:
alert('1을 입력하심')
break
case 2:
alert('2를 입력하심')
break
case 3:
alert('3을 입력하심')
break
default:
alert('잘못 입력하심')
}
</script>
조건부 연산자 (삼항 연산자)
<aside> 💡 불_표현식 ? 참일_때의_결과 : 거짓_일때의_결과
</aside>
<script>
const a = Number(prompt('숫자를 입력해주세요.',''))
alert((a >= 0) ? '0 이상의 숫자입니다.' : '0보다 작은 숫자입니다.')
</script>
짧은 조건문
- 대충 이런 것이 있구나 하고 눈도장만 찍어도 ok
논리합 연산자를 사용한 짧은 조건문
불 표현식 || 불 표현식이 거짓일 때 실행할 문장
- 논리합 연산자(||) 특징 : 둘 중 하나만 true 여도 결과값 true!
- 자바스크립트는 참이 확실할 때 추가 연산을 진행하지 X. 즉 좌변이 참이면 우변 실행 안 함!
논리곱 연산자를 사용한 짧은 조건문
결과가 거짓인 불 표현식 && 불 표현식이 참일 때 실행할 문장
- 논리곱 연산자(&&) 특징 : 양변이 모두 참이여야 결과값 true!
- 좌변이 거짓이면 우변을 실행하지 X
누적 예제
짝수와 홀수 구분하기
<script>
const a = Number(prompt('숫자를 입력해주세요', ''))
if(a % 2 === 0){
alert(`입력하신 ${a}은(는) 짝수입니다`)
}else{
alert(`입력하신 ${a}은(는) 홀수입니다`)
}
</script>
학점 기반 별명 붙여주기
<script>
const a = Number(prompt('학점을 입력해주세요.(4.5만점 기준)', '학점'))
if(a === 4.5){
alert('신')
} else if(a >= 4.2){
alert('교수님의 사랑')
} else if(a >= 3.5){
alert('현 체제의 수호자')
} else if(a >= 2.8){
alert('일반인')
} else if(a >= 2.3){
alert('일탈을 꿈꾸는 소시민')
} else if(a >= 1.75){
alert('오락문화의 선구자')
} else if(a >= 1.0){
alert('불가촉천민')
} else if(a >= 0.5){
alert('자벌레')
} else if(a === 0){
alert('시대를 앞서가는 혁명의 씨앗')
}
</script>
태어난 연도 입력받아 띠 출력하기⇒ 비효율적, 너무 긴 코드!
<script>
const year = Number(prompt('태어난 해를 입력해주세요.',''))
let result
switch(year % 12){
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>
<script>
const year = Number(prompt('태어난 해를 입력해주세요.',''))
const tti = '원숭이,닭,개,돼지,쥐,소,호랑이,토끼,용,뱀,말,양'.split(',')
alert(`${year}년생은 ${tti[year%12]}띠 입니다.`)
</script>
효율적으로 → split() 사용!
마무리
확인문제 1/
- 버튼을 클릭해주세요
- 확인 누르면 → true
- 취소 누르면 → false
확인문제 2/
- 이미 위에서 if 말고 switch 조건문으로 작성함..ㅋㅋㅋ
확인문제 3/
<script>
const year = Number(prompt('태어난 해를 입력해주세요.',''))
let 간
switch(year % 10){
case 0:
간 = '경'
break
case 1:
간 = '신'
break
case 2:
간 = '임'
break
case 3:
간 = '계'
break
case 4:
간 = '갑'
break
case 5:
간 = '을'
break
case 6:
간 = '병'
break
case 7:
간 = '정'
break
case 8:
간 = '무'
break
case 9:
간 = '기'
break
}
let 띠
switch(year % 12){
case 0:
띠 = '신'
break
case 1:
띠 = '유'
break
case 2:
띠 = '술'
break
case 3:
띠 = '해'
break
case 4:
띠 = '자'
break
case 5:
띠 = '축'
break
case 6:
띠 = '인'
break
case 7:
띠 = '묘'
break
case 8:
띠 = '진'
break
case 9:
띠 = '사'
break
case 10:
띠 = '오'
break
case 11:
띠 = '미'
break
}
alert(`${year}년은 ${간}${띠} 년입니다.`)
</script>
확인문제4 : 4번
확인문제5 : 3번
'프론트엔드 > JavaScript' 카테고리의 다른 글
[혼공학습단 10기 - 자바스크립트] 5주차 / Chapter 06-1. 객체의 기본 (0) | 2023.08.11 |
---|---|
[혼공학습단 10기 - 자바스크립트] 4주차 / Chapter 05. 함수 (0) | 2023.07.31 |
[혼공학습단 10기 - 자바스크립트] 3주차 / Chapter 04. 반복문 (0) | 2023.07.23 |
[혼공학습단 10기 - 자바스크립트] 1주차 / Chapter 02. 자료와 변수 (0) | 2023.07.14 |
[혼공학습단 10기 - 자바스크립트] 1주차 / Chapter 01. 자바스크립트 개요와 개발환경 설정 (0) | 2023.07.05 |