switch-case를 이용해서 오늘의 요일을 출력해주세요.
평일일 경우 해당 요일 출력 ("월요일", "화요일", ...)
주말일 경우 "주말입니다." 출력
let dayName = ""; let day = date.getDay(); switch (day) { case 1: dayName = "월요일"; break; case 2: dayName = "화요일"; break; case 3: dayName = "수요일"; break; case 4: dayName = "목요일"; break; case 5: dayName = "금요일"; break; case 6: dayName = "실행안함."; case 0: dayName = "주말입니다."; break; default: dayName = "조건이 아무것도 맞지 않음" } console.log(dayName);
조건문 중 한개인 switch문이다.
어떤 느낌이냐면, 위의 day가 1이면 월요일이라고 출력을 해주고
day가 2면 화요일이라고 출력을 해준다.
case 옆에 있는 값이 switch (조건)과 맞을 경우 해당하는 명령?을 불러준다고 생각하면 된다.
사용할 때의 주의할 점은 조건에 맞을 경우 그 명령을 시킬 때에는 꼭 break; 를 적어줘야한다는 것이다.
적지 않을 경우에는 break가 걸려있지 않은 곳까지 쭉 아래로 내려가서 해당하는 명령을 실행하기 때문인데
무슨 의지인지 위의 코드를 긁어와서 확인해보자.
case 6:
dayName = "실행안함.";
case 0:
dayName = "주말입니다.";
break;
일반적으로 생각하는 것은 day의 값이 6이 될 경우 "실행안함" 이라는 것을 콘솔에 찍어줘야한다.
하지만, 실제로 나오는 값은 "주말입니다"가 나오게 되는 것을 볼 수 있다.
위의 설명처럼, 조건이 맞더라도 break를 걸지 않으면 break가 걸린 곳에서 멈추는 것을 볼 수 있다.
그리고 default: 라는 것도 사용 할 수 있는데, 이 경우에는 어떤 조건도 맞지 않을 경우 해당하는 명령어를 발생시켜준다.
위의 new Data()의 경우에는 요일을 0부터 6 사이로만 알려줘서 에러가 발생할 일은 없지만,
직접적으로 day에 0~6이 아닌 수를 입력하면 default: 의 명령이 실행되는 것을 볼 수 있다.