<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
</head>
<body>
<script>
// 변수 : 데이터를 저장하는 공간
// var varName = 123; // varName에 123 값을 저장한다
// scope(유효범위)
// var : 함수 단위의 유효범위를 갖는다.
// let, const : 블록{} 단위의 유효범위를 갖는다.
// 자료형, 데이터타입
/*
문자형, 숫자형, 논리형
null(명시적, 의도적으로 비움), undefined(자연발생)
NaN (연산오류를 나타내는 메세지 - 숫자형데이터)
*/
/*
(산술연산자)
+ - * / %
++ -- (1씩 증가, 감소)
+= -= *= /= %=
변수 += 10;
변수 = 변수 + 10;
(비교연산자)
== (값이 같다)
=== (값과 데이터형태 모두 같다)
!= (값이 다르다)
!== (값이랑 데이터형태 모두 다르다)
< > <= >=
*/
/*
조건문
- 특정한 조건에 따라 코드 실행을 제어하는 문
- 조건식(참과 거짓으로 판별가능한 식)의 판별 결과에 따라 실행될 코드블록을 결정
if (조건식1) {
조건식1이 참일 경우 실행
} else if(조건식2) {
조건식2가 참일 경우 실행
} else {
그 어떠한 조건식에도 참이 아닌 경우 실행
}
prompt를 통해서 휴대전화 뒷자리를 물어보고,
1111 : 맥북 프로 당첨
2222 : 맥북 에어 당첨
3333 : 아이패드 프로 당첨
4444 : 아이폰 14프로 당첨
그 외 : 꽝
*/
// let gift = prompt("휴대전화 맨 뒷자리를 입력해주세요");
// if (gift == 1111) {
// alert('맥북 프로 당첨!');
// } else if (gift == 2222) {
// alert('맥북 에어 당첨!');
// } else if (gift == 3333) {
// alert('아이패드 프로 당첨!');
// } else if (gift == 4444) {
// alert('아이폰 14프로 당첨!');
// } else {
// alert('꽝!');
// }
/*
선택문(switch-case문)
- 표현식(보통 변수가 들어감)의 대조 결과에 따라 실행될 코드를 결정
switch(표현식) {
case 표현식1 : 표현식이 표현식1에 해당될 경우 실행될 구문
break;
case 표현식n : 표현식이 표현식n에 해당될 경우 실행될 구문
break;
default : 그 어떠한 표현식에도 해당되지 않을 경우 실행될 구문(생략 가능)
}
장점 : 간결하다, 보기좋다
단점 : 실행문이 길어지면 가독성이 떨어진다
유의점 : 대소비교 불가능(조건대조)
*/
let gift = prompt("휴대전화 맨 뒷자리를 입력해주세요");
gift = Number(gift); // 문자를 숫자로 형 변환시키기
let result;
switch (gift) {
case 1111: result = "맥북프로";
break;
case 2222: result = "맥북에어";
break;
case 3333: result = "아이패드프로";
break;
case 4444: result = "아이폰14프로";
break;
}
// if (result) {
// alert(`축하합니다! ${result}에 당첨되었습니다!`);
// } else {
// alert('꽝! 다음 기회에!');
// }
/*
삼항조건연산자
조건식 ? 조건식이 참일 경우 실행될 구문 : 조건식이 거짓일 경우 실행될 구문
*/
result ? alert(`축하합니다! ${result}에 당첨되었습니다!`) : alert('꽝! 다음 기회에!');
</script>
</body>
</html>