티스토리 뷰
//03. 중첩 조건문(if) 개선하기
// 중첩된 if문
if (color) {
if (color === 'black') {
printBlackBackground();
} else if (color === 'red') {
printRedBackground();
} else if (color === 'blue') {
printBlueBackground();
} else if (color === 'green') {
printGreenBackground();
} else {
printYellowBackground();
}
}
// swith 문 사용 개선 #1
// 추천하지 않는다. 디버깅 어렵다 ( https://toddmotto.com/deprecating-the-switch-statement-for-object-literals/ ) 이유안내
switch(color) {
case 'black':
printBlackBackground();
break;
case 'red':
printRedBackground();
break;
case 'blue':
printBlueBackground();
break;
case 'green':
printGreenBackground();
break;
default:
printYellowBackground();
}
// 만약 몇몇 조건이 추가되면 어떻게 할 것인가 ? 불 필요하게 switch 문에 조건을 달 필요가 있을까?
switch(true) {
case (typeof color === 'string' && color === 'black'):
printBlackBackground();
break;
case (typeof color === 'string' && color === 'red'):
printRedBackground();
break;
case (typeof color === 'string' && color === 'blue'):
printBlueBackground();
break;
case (typeof color === 'string' && color === 'green'):
printGreenBackground();
break;
case (typeof color === 'string' && color === 'yellow'):
printYellowBackground();
break;
}
// swicth 문과 조건문의 피하고 object 사용하여 처리하는 방법이 실력있게 처리한 방법이라 할수 있겟당.
var colorObj = {
'black': printBlackBackground,
'red': printRedBackground,
'blue': printBlueBackground,
'green': printGreenBackground,
'yellow': printYellowBackground
};
if (color && colorObj.hasOwnProperty(color)) {
colorObj[color]();
}
// ( 더 자세히 설명한 내용 ) http://www.nicoespeon.com/en/2015/01/oop-revisited-switch-in-js/
'웹개발 > Javascript' 카테고리의 다른 글
console.time( label ) 활용한 성능 시간 측정 방법 (0) | 2016.01.15 |
---|---|
05. Undefined 와 Null 의 차이 (0) | 2016.01.14 |
배열에 값을 추가하는 Tip (0) | 2016.01.14 |
node + express + mongdb 활용한 rest 공부하기 (0) | 2016.01.08 |
앵귤러 Controller (0) | 2015.07.11 |
댓글