5. 조건문
1-1. if문
① if문: if(조건){ main logic } / 조건이 true일 때만 코드를 실행
② if-else문: if(조건){ main logic1 }else{ main logic2 } / 조건이 true일 때 main logic1을 false일 때 main logic2를 실행
③ if-else if-else문: if(조건1){ main logic1 }else if(조건2){ main logic2 } else{ main logic3 } / 여러 개의 조건을 손서대로 배교하여 맞는 부부을 실행
1-2 switch문
let fruit = "사과"
switch (fruit) {
case "사과":
console.log('사과입니다.');
break;
case "바나나":
console.log('바나나입니다')
break;
case "키위":
console.log("키위입니다.");
break;
default:
console.log("아무것도 아닙니다.");
break;
}
case 중 하나를 선택하여 해당하는 코드를 실행한다. break는 해당 조건을 만족한 뒤 필요한 동작을 한 다음은 블록문을 빠져나오는 것이 일반적이기 때문에 생략이 가능하지만, 작성해주는 경우가 더 많다. default는 모든 경우에 맞지 않는 경우에 실행된다.
1-3 삼항 연산자
(조건식 ? 조건이 참인 경우 : 조건이 거짓인 경우) 이렇게 작성된다. if문과 비슷한 역할을 한다.
1-4 조건문의 중첩
조건문 안에 조건문을 사용하여 복잡한 조건을 판별할 때 사용한다. But 가독성이 떨어지므로 되도록 쓰지 않는게 좋다.
1-5 조건부 실행
&& 연산자를 사용하여 조건부 실행을 할 수 있다. && 왼쪽의 조건이 true일 때 오른쪽 부분이 출력된다.
1-6 삼항 연산자와 단축 평가
|| 연산자를 사용하여 단축 평가를 할 수 있다. || 왼쪽이 false일 경우 오른쪽 값을 반환하고 기본값으로 지정한다.
1-7 falsy한 값과 truthy한 값
0, 빈 문자열, null, undefined, NaN, false는 falsy한 값이다. 그 외의 값들은 모두 truthy한 값이다.
확인 문제 풀이
@ 3-1 if 조건문
1. '참입니다'를 출력하는 것은?
<script>
const x = 10
if(x>4) {
console.log('참입니다.')
}
</script>
2. 사용자로부터 숫자 2개를 입력받아 첫 번째 입력받은 숫자가 큰지, 두 번째 입력받은 숫자가 큰지를 구하는 프로그램 만들기
<script>
const a = Number(prompt('첫 번째 숫자',''))
const b = Number(prompt('두 번째 숫자',''))
if (a>b) {
alert('첫 번째로 입력한 숫자가 더 큽티다.')
} else if (a===b) {
alert('두 숫자가 같습니다.')
} else {
alert('두 번째로 입력한 숫자가 더 큽니다.')
}
</script>
3. 중첩 조건문을 배운 논리 연사자를 적용해 하나의 if조건문으로 변경하기
if(x>10) {
if(x<20) {
console.log('조건에 맞습니다.')
}
}
if(x>10 && x<20) {
console.log('조건에 맞습니다.')
}
&&는 논리곱 연산자라 한다. 양쪽이 참일 때 참이다. 이외에는 모두 거짓이다.
4. 사용자에게 숫자를 입력받아 양수, 0, 음수를 구분하는 프로그램을 만들기
<script>
const a = Number(prompt('숫자를 입력해주세요',''))
if(a>0){
console.log(`입력한 숫자는 양수입니다.`)
} else if(a==0) {
console.log(`입력한 숫자는 0입니다.`)
} else {
console.log(`입력한 숫자는 음수입니다.`)
}
</script>
5. 사용자에게 숫자를 입력받아 홀수와 짝수를 구분하는 프로그램을 만들기
<script>
const a = Number(prompt('숫자를 입력해주세요',''))
if(a % 2 ===0) {
console.log('입력한 숫자는 짝수입니다.')
} else {
console.log('입력한 숫자는 홀수입니다.')
}
</script>
6. 현재가 몇 월인지 확인하고, 계절을 구분하는 프로그램을 만들기
<script>
const a = Number(prompt('월을 입력해주세요',''))
if(a >=3 && a<=5) {
console.log('봄입니다.')
} else if(a>=6 && a<=8) {
console.log('여름입니다.')
} else if(a>=9 && a<=11) {
console.log('가을입니다.')
} else {
console.log('겨울입니다.')
}
</script>
@ 3-2 switch 조건문과 짧은 조건문
1. 어떤 형태로 실행될지 예측하기
<script>
const result = (100>200) ? prompt('값을 입력해주세요','') : confirm('버튼을 클릭해주세요')
alert(result)
</script>
200이 100보다 크므로 false 따라서 : 오른쪽에 false부분이 실행된다. 따라서 버튼을 클릭하는 알림이 뜬다. 확인을 누르면 true값을 반환, 취소를 누를 false값을 반환한다.
2. [누적 예제: 태어난 연도를 입력받아 띠 출력하기]에서 if 조건문을 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>
3. '태어난 연도를 입력받아 띠 출력하기'에서 동물 이름을 쥐부터 '자, 축, 인, 묘, 진, 사, 오, 미, 신, 유, 술, 해'로 변경하고, 입력한 연도의 '갑, 을, 병, 정, 무, 기, 경, 신, 임, 계'를 계산합니다. 이 둘을 합친 프로그램을 만들기
<script>
const rawInput = prompt('태어난 해를 입력해주세요.', '')
const year = Number(rawInput)
let 간
const a = year % 10
switch(a) {
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 띠
const e = year % 12
switch (e) {
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. switch 조건문과 직접적인 관련이 없는 키워드
④ else ==> else는 if 조건문에 사용된다.
5. 다른 실행 결과를 내는 코드① true ? alert('출력A') : alert('출력B') ==> true일 경우 왼쪽 / 출력A② false ? alert('출력B') : alert('출력A') ==> false일 경우 오른쪽 / 출력A③ true || alert('출력A') ==> ||는 왼쪽부터 true일 경우 왼쪽만 값을 반환하고 stop / true④ true && alert('출력A') ==> &&는 왼쪽부터 true일 경우 오른쪽으로 넘어가 오른쪽에 있는 부분을 반환한다. / 출력A
③
'JavaScript Dev. > Javascript' 카테고리의 다른 글
7. 반복문 (0) | 2023.04.08 |
---|---|
6. 배열, 객체 (0) | 2023.04.08 |
4. 함수 (0) | 2023.04.07 |
3. 연산자 (0) | 2023.04.07 |
2. 데이터 타입과 형 변환 (0) | 2023.04.07 |