Switch javascript
에서 switch
문법은 if
, else if
를 대체 할 수 있습니다. if
, else if
와 비슷하지만 약간의 문법 차이가 있습니다.
사용방법 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 const dayNum = new Date ().getDay();function ifDay (dayNum ) { if (dayNum === 1 ) { return '월요일' ; } else if (dayNum === 2 ) { return '화요일' ; } else if (dayNum === 3 ) { return '수요일' ; } else if (dayNum === 4 ) { return '목요일' ; } else if (dayNum === 5 ) { return '금요일' ; } else if (dayNum === 6 || dayNum === 0 ) { return '주말' ; } else { return '알 수 없음' ; }; } console .log(ifDay(dayNum));
if
, else if
조건문을 이용해서 오늘의 요일을 알 수 있습니다. 하지만 if
, else if
를 쓰게되면 모든 if
를 순서대로 체크하고 값을 반환하게 됩니다. 하지만 switch
를 이용하게 되면 해당하는 코드블록 하나만 실행하게 됩니다. 값이 일치하지 않는다면 기본(default
)값이 설정됩니다. 위 값을 switch
문으로 변경해보도록 하겠습니다.
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 const dayNum = new Date ().getDay();function switchDay (dayNum ) { switch (dayNum) { case 1 : return '월요일' ; break ; case 2 : return '화요일' ; break ; case 3 : return '수요일' ; break ; case 4 : return '목요일' ; break ; case 5 : return '금요일' ; break ; case 6 : case 0 : return '주말' ; break ; default : return '알 수 없음' ; break ; }; }; console .log(switchDay(dayNum));
이렇게 switch
문으로 사용 할 수 있습니다. 하지만 if
, else if
문, switch
문 보다 속도가 더 빠르고 조건문과 비슷한 Object
의 square brackets syntax
를 이용한 방법이 있습니다.
square brackets syntax를 이용한 유사 조건문 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 const dayNum = new Date ().getDay();function objDay (dayNum ) { const dayObj = { 1 : '월요일' , 2 : '화요일' , 3 : '수요일' , 4 : '목요일' , 5 : '금요일' , 6 : '주말' , 0 : '주말' , }; if (!dayObj[dayNum]) return '알 수 없음' ; return dayObj[dayNum]; } console .log(objDay(dayNum));
if
, switch
, object
세가지 조건문 성능을 여기 에서 볼 수 있습니다. 간단한 조건문은 Object
를 이용하는 것도 한가지 방법입니다. 감사합니다.