const con = document.getElementById("log"); constlog = (...args) => con.innerHTML += '<br/>' + args.join(' '); // 스위치 문에 블럭은 꼭 선언해야 된다. // 스위치 문에는 특수 레이블을 사용한다. // 스위치 문에서 익명 레이블을 만들어준다 // 스위치 문에 레이블도 선언해서 쓸수 있다.
let a = 3, b= 0;
// 값이 복잡한 경우 switch (a) { case b++: log('a',b);break; case b++: log('b',b);break; case b++: log('c',b);break; case b++: log('d',b);break; default: log('e',b);break; }
// 조건이 복잡한 경우 switch (true) { case a>5: log('a',b);break; case a>4: log('b',b);break; case a>3: log('c',b);break; case a>2: log('d',b);break; default: log('e',b);break; }
스위치 문에는 반드시 default가 있다.
if문
1 2 3 4 5 6
a:const c = 3; if(식) 옵션널 if(식) else 필수
1 2 3 4 5 6 7 8 9 10 11 12
a:const c = 3; if( c === 1){ } elseif (c === 2){ } elseif (c === 3){ }else{ }
else if문은 없다. else 후방 결합을 사용하지 말아라
병렬 조건을 사용할때 else if를 사용하지말아라
1차 조건이 분기한 이후에 부분집합에 분기가 필요할때만 사용해라
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
a:const c = 3; if( c === 1){ } else { if (c === 2){ } else { if (c === 3){ }else{ } } }
else 문 후방결합에 따라서 아래 방식대로 사용가능하다.
1 2 3 4 5 6 7 8 9 10 11 12
a:const c = 3; if( c === 1){ } elsefor(;;;) { } elseswitch (){ } else { }
코드의 부수효과 else를 제거 하면서 필수 조건이 빠지면 안된다. else를 사용하면 필수로 가는것을 추천하라
1 2 3 4 5 6 7 8 9 10 11 12 13 14
a:const c = 3; if( c === 1){ } else { if (c === 2){ } else { if (c === 3){ } } }