짧게 말하면
==는 강제 형변환 하여 변수 안의 값이 같으면 true를 반환한다.
ex) "1" = 1 와 같이 문자열 1과 숫자 1을 같다고 인식한다.
반면에 === 3개는 값 + 자료형을 비교하여 true, false를 반환한다.
ex) "1" = 1 는 false가 된다.
switch는 아래와 같이 자바와 똑같다.
case default를 사용할 수 있다.
switch (조건) {
case 값 :
문구
break;
default:
문구
break;
}
그리고 조건에 true라고 설정하고
값 부분에 식을 넣을 수도 있다.
값에 true나 false를 반환하는 식을 넣으면 조건에 true라고 했을경우 true인 case가 실행이 된다.
예제를 확인해보자
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>Insert title here</title> <style type="text/css"> .area1{ border: 1px solid red; height: 200px; } </style> </head> <body> <h1>자바와 다른 연산자</h1> <h3>=== 연산자와 !== 연산자</h3> <p>값과 자료형 둘 다 일치하는지 / 일치하지 않는지 확인할 때 사용한다.</p> <button onclick="testOp();">확인하기</button> <div id="area1" class="area"></div> <script> function testOp(){ var area1 = document.getElementById("area1"); var check1 = 1; var check2 = "1"; // 등호 2개 area1.innerHTML += "check1 == 1 : " + (check1 == 1) + "<br>"; area1.innerHTML += 'check1 == "1" : ' + (check1 == "1") + "<br>"; area1.innerHTML += 'check2 == 1 : ' + (check2 == 1) + "<br>"; area1.innerHTML += 'check2 == "1" : ' + (check2 == "1") + "<br>"; // 등호 3개(값 + 자료형 비교) area1.innerHTML += 'check1 === 1 : ' + (check1 === 1) + "<br>"; area1.innerHTML += 'check1 == "1" : ' + (check1 === "1") + "<br>"; } </script> <hr> <h3>연산자를 이용한 짧은 조건문 테스트</h3> <button onclick="checkLogic();">확인하기</button> <script> function checkLogic(){ var input = Number(window.prompt("숫자를 입력하세요")); //짧은 조건문 : ||는 앞에 조건이 거짓이면 뒤에 연산을 실행함 // &&는 앞에 조건이 참이면 뒤에 연산을 실행함 input % 2 == 0 || alert("홀수입니다."); input % 2 == 0 && alert("짝수입니다."); } </script> <hr> <h3>switch문 테스트</h3> <button onclick="switchTest();">실행확인</button> <script type="text/javascript"> function switchTest() { var today = new Date(); var hour = today.getHours(); switch (true) { case hour == 12 : alert("점심시간입니다."); break; case hour > 12 : alert("수업시간입니다."); break; default: alert("기본값입니다.") break; } } </script> </body> </html>