Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | ||||
4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 | 12 | 13 | 14 | 15 | 16 | 17 |
18 | 19 | 20 | 21 | 22 | 23 | 24 |
25 | 26 | 27 | 28 | 29 | 30 | 31 |
Tags
- 스코프 및 화살표 함수
- 조건문
- 혼자공부하는자바스크립트
- Visual Studio Code Shortcut for windows
- 자바
- 항해99사전강의
- 항해99
- 랑과나의사막
- 비쥬얼 스튜디오 코드 프로그램 단축키(윈도우)
- 혼공자스
- 불자료형
- 탬플릿문자열
- 유령의마음으로
- 2023나만의버킷리스트만들기
- 스파르타코딩클럽
- 배열
- 자바스크립트
- 함수
- 책리뷰
- 아이디어 #앱아이디어 #건축 #현장관리어플
- 일급객체(함수)
- 폴로스타일니트
- 나머지 매개변수
- BomNalSweater
- 객체
- 봄날스웨터
- 배열의 요소로 함수 할당
- 문자자료형
- 숫자자료형
- 자바뽀개기
Archives
- Today
- Total
하고 싶은게 많음
[혼공자스] 03. 조건문(if, switch) 본문
조건문을 사용하여 코드가 실행되는 흐름을 변경하는 것: 조건분기
if 조건문의 조건은 불 자료형
if 조건문
실행되는 문장이 하나일 때 중괄호 생략가능. 여러문장을 실행할 경우는 중괄호로 감싸야 함.
# 기본 구조 #
if(불 값이 나오는 표현식){
불 값이 참일 때 실행할 문장
}
<script>
//if 조건문
if (273 < 100){
//표현식 273 < 100이 참일 때 실행.
alert('273 < 100 => true')
}
//프로그램 종료
alert('종료')
</script>
//현재 시각을 구하는 코드
>const date = new Date()
undefined
>date.getFullYear()
2022
>date.getMonth()
10
>date.getHours()
22
>date.getMinutes()
19
>date.getSeconds()
0
getMonth()메소드는 0~11사이의 값을 출력 -> 그래서 11이 나와야함에도 10이 나온 것. 여기는 +1해줌으로써 해결하면 됨.
//오전과 오후 구분하기
<script>
//변수를 선언
const date = new Date()
const hour = date.getHours()
//if 조건문
if (hour < 12){
//표현식 hour < 12가 참일 때 실행.
alert('오전입니다.');
}
if (hour >= 12){
//표현식 hour >= 12가 참일 때 실행.
alert('오후입니다.')
}
</script>
if else 조건문
if 조건문을 두 번 사용하지 않아도 됨.
# 기본 구조 #
if (불 값이 나오는 표현식) {
불 값이 참일 때 실행할 문장
} else {
불 값이 거짓일 때 실행할 문장
}
<script>
//변수를 선언합니다.
const date = new Date()
const hour = date.getHours()
//if 조건문
if (hour < 12) {
//표현식 hour < 12가 참일 때 실행.
alert('오전입니다.')
} else {
//표현식 hour < 12가 거짓일 때 실행.
alert('오후입니다.')
}
</script>
중첩 조건문
조건문 안에 조건문을 중첩해 사용하는 것
# 기본 구조 #
if (불 값이 나오는 표현식1) {
if (불 값이 나오는 표현식2) {
표현식2가 참일 대 실행할 문장
} else {
표현식 2가 거짓일 때 실행할 문장
}
} else {
if (불 값이 나오는 표현식3) {
표현식 3이 참일 때 실행할 문장
} else {
표현식 3이 거짓일 때 실행할 문장
}
}
<script>
//변수를 선언.
const date = new Date()
const hour = date.getHours()
//중첩 조건문
if (hour < 11) {
//표현식 hour < 11이 참일 때 실행.
alert('아침 먹을 시간입니다')
} else {
//표현식 hour < 11이 거짓일 때 실행.
if (hour < 15 ) {
//표현식 hour < 15가 참일 때 실행.
alert('점심 먹을 시간입니다')
}else {
//표현식 hour < 15가 거짓일 때 실행.
alert('저녁 먹을 시간입니다.')
}
}
</script>
if else if 조건문
if 조건문은 조건이 한 문장이라면 중괄호를 생략해도 된다. -> 이 개념을 이용해 중첩 조건문에서 중괄호를 생략한 형태
겹치지 않는 3가지 이상의 조건으로 나눌 때 사용.
# 기본 구조 #
if (불 표현식) {
문장
} else if (불 표현식) {
문장
} else if (불 표현식) {
문장
} else {
문장
}
<script>
//변수를 선언.
const date = new Date()
const hour = date.getHours()
//if else if 조건문
if (hour < 11) {
//표현식 hour < 11이 참일 때 실행.
alert('아침 먹을 시간입니다')
} else if (hour < 15 ) {
//표현식 hour < 11이 거짓이고, 표현식 hour < 15가 참일 때 실행.
alert('점심 먹을 시간입니다')
}else {
//표현식 hour < 15가 거짓일 때 실행.
alert('저녁 먹을 시간입니다.')
}
}
</script>
switch 조건문
특정 값의 조건을 비교할 때 사용
# 기본 구조 #
switch(자료){
case 조건A:
break
case 조건B:
break
default:
break
}
<script>
//변수를 선언.
const input = Number(prompt('숫자를 입력하쇼','숫자'))
//조건문
switch (input % 2) {
case 0:
alert('짝수')
break
case 1:
alert('홀수')
break
default:
alert('숫자가 아님')
break
}
</script>
break 키워드
switch 조건문이나 반복문을 빠져 나가기 위해 사용하는 키워드
코드를 읽다가 break키워드를 만나면 break 키워드를 감싼 switch 조건문이나 반복문을 완전히 빠져나감
switch 조건문의 괄호 안에는 비교할 값을 입력
switch 조건문 → if 조건문 (가능)
반대는 대체로 어려움
<script>
//변수를 선언.
const date = new Date()
const hour = date.getHours()
//조건문
switch (true) {
case hour < 11:
//표현식 hour < 11이 참일 때 실행.
alert('아침 먹을 시간')
break
case hour < 15:
//표현식 hour < 11이 거짓, 표현식 hour < 15가 참일 때 실행.
alert('점심 먹을 시간')
break
default:
//위의 모든 것이 거짓을 때 실행
alert('저녁 먹을 시간')
break
}
</script>
조건부 연산자
자바스크립트에서 조건문과 비슷한 역할을 하는 연산자 有: 조건부 연산자
항을 3개 갖는 연산자는 조건부 연산자가 유일 : 삼항 연산자
불 표현식 ? 참일 때의 결과 : 거짓을 때의 결과
<script>
//변수 선언
const input = prompt('숫자를 입력하쇼', '')
const number = Number(input)
//조건문
const result = (number >= 0) ? '0이상의 숫자임' : '0보다 작은 숫자임'
alert(result)
</script>
짧은 조건문
논리 연산자의 특성을 조건문으로 사용하는 것
논리합 연산자를 사용한 짧은 조건문
불 표현식 || 불 표현식이 거짓일 때 실행할 문장
true || ~~~
위와 같은 표현식은 논리합 연산자를 사용했으며, ~~~에 어떠한 값이 들어가도 항상 참.
논리합 연산자의 좌변이 참이면 우변을 실행 X
논리곱 연산자를 사용한 짧은 조건문
양변이 모두 참일 때만 참
결과가 거짓인 불 표현식 && 불 표현식이 참일 때 실행할 문장
false && ~~~
에서 ~~~에 뭐를 넣어도 항상 거짓임
문제 1 짝수와 홀수 구분 (1)
<script>
//if else 조건문으로 짝수와 홀수 구분 (1)
const 입력 = prompt('정수를 입력해주세요.','')
const 끝자리 = 입력[입력.length = 1]
//끝자리를 비교합니다.
if (끝자리 === "0") ||
끝자리 === "2" ||
끝자리 === "4" ||
끝자리 === "8" {
alert ( ${입력}은 짝수입니다.)
} else {
alert( ${입력}은 홀수입니다.)
}
</script>
짝수와 홀수 구분 (2)
<script>
const 입력 = prompt('정수를 입력하쇼','')
const 숫자 = Number(입력)
if (숫자 % 2 === 0 ) {
alert( ${입력}은 짝수)
} else {
alert( ${입력}은 홀수)
}
</script>
문제 2 학점을 기반으로 별명 붙여주기(1)
<script>
const score = Number(prompt('학점을 입력해주쇼',''))
if (score === 4.5 ) {
alert('신')
} else if ( 4.2 <= score && score < 4.5) {
alert('교수님의 사랑')
} else if ( 3.5 <= score && score < 4.2) {
alert('현 체제의 수호자')
} else if ( 2.8 <= score && score < 3.5) {
alert('일반인')
} else if (2.3 <= score && score < 2.8) {
alert('일탈을 꿈꾸는 소시민')
} else if (1.75 <= score && score < 2.30) {
alert('오락문화의 선구자')
} else if (1.0 <= score && score < 1.75) {
alert('불가촉천민')
} else if (0.5 <= score && score < 1.0) {
alert('자벌레')
} else if (0 < score && score < 0.5) {
alert('플라크톤')
} else {
alert('시대를 앞서가는 혁명의 씨앗')
}
</script>
학점을 기반으로 별명 붙여주기 (2)
<script>
const score = Number(prompt('학점을 입력해주쇼',''))
if (score === 4.5) {
alert('신')
} else if (4.2 <= score) {
alert('교수님의 사랑')
} else if (3.5 <= score) {
alert('현 체제의 수호자')
} else if (2.8 <= score) {
alert('일반인')
} else if (2.3 < = score) {
alert('일탈을 꿈꾸는 소시민')
} else if (1.75 <= score) {
alert('오락문화의 선구자')
} else if(1.0 <= score) {
alert('불가촉천민')
} else if (0.5 <= score){
alert('자벌레')
} else if (0 < score) {
alert('플라크톤')
} else {
alert('시대를 앞서가는 혁명의 씨앗')
}
</script>
문제 3태어난 연도를 입력받아 띠 출력 (1)
<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 (e === 11) {result = '양'}
alert( ${year}년에 태어났다면 ${result}이다.)
</script>
태어난 연도를 입력받아 띠 출력 (2)
split 로 문자열 잘라 사용
<script>
const rawInput = prompt('태어난 해를 입력')
const year = Number(rawInput)
const tti = '원숭이, 닭, 개, 돼지, 쥐, 소, 호랑이, 토끼, 용. 뱀, 말, 양'.split(',')
alert( ${year}년에 태어났다면 ${tti[year % 12]}띠입니다.)
</script>
'IT > 자바스크립트' 카테고리의 다른 글
자바스크립트 실수 모음집 (0) | 2022.11.18 |
---|---|
[혼공자스] 05. 함수 (0) | 2022.11.17 |
[혼공자스] 04. 배열 (0) | 2022.11.15 |
[혼공자스]02. 자료와 변수 (0) | 2022.11.07 |
[혼공자스] 오류 발생 (Reference/ Syntax) (0) | 2022.10.27 |
Comments