조건문: 파트 2
레거시 조건문의 문제.
주요 문제는 추악하고 지루하다는 것입니다. 을 참조하십시오.
조건을 작성하고 유지하는 데 많은 시간이 걸립니다. 다음을 고려하십시오.
private demo(myVar: string): string {
if(myVar === 'condition') {
return myVar.substring(1,3);
}
if(myVar === 'demo') {
return myVar.substring(1,2);
}
if(myVar === 'thing') {
return myVar.substring(1,4);
}
if(myVar === 'demo1') {
return myVar.substring(1,5);
}
if(myVar === 'demo5') {
return myVar.substring(1,2);
}
return '';
}
이제 위의 코드는 어떤 경우에는 좋을 수 있지만 더 잘할 수 있습니다.
컨디셔닝을 위해 개체 사용
private demo1(myVar: string): string {
const myObject: { [key: string]: string; } = {
'condition': myVar.substring(1,3),
'demo': myVar.substring(1,2),
'thing': myVar.substring(1,4),
'demo1': myVar.substring(1,5),
'demo5': myVar.substring(1,2),
}
return myObject[myVar];
}
demo1('condition');
위의
if
문과 동일하게 작동하지만 깨끗한 코드입니다.기본 상태도 확인하고 싶으신가요?
private demo1(myVar: string): string {
const myObject: { [key: string]: string; } = {
'condition': myVar.substring(1,3),
'demo': myVar.substring(1,2),
'thing': myVar.substring(1,4),
'demo1': myVar.substring(1,5),
'demo5': myVar.substring(1,2),
default: '',
}
if(!myObject[myVar]) return myObject['default'];
return myObject[myVar];
}
이것은 전반적인 인지 복잡성도 감소시킵니다.
이를 통해 함수 호출도 가능합니다.
public coc(troopName: string, quantity: number): string {
const bookForCOC: { [key: string]: any } = {
'barbarian': () => quantity > 30 ? 'Use it behind kind' : 'Use it to destroy',
'archer': () => quantity > 20 ? 'Use it behind queen' : 'Use it to destroy',
'balloon': () => quantity > 20 ? 'Use it behind dragons' : 'Use it after air defense is destroyed',
'dragon': () => quantity > 3 ? 'Use it at a single place' : 'Use it anywhere else',
default: () => 'Use some good troops to win'
}
if(!bookForCOC[troopName]) return bookForCOC['default']();
return bookForCOC[troopName]();
}
조건문의 대안으로 사용할 수 있습니다.
게시물이 마음에 들면 더 많은 것을 위해 나를 따르십시오.
.ltag__user__id__682652 .follow-action-button {
배경색: #4666b8 !중요;
색상: #ffffff !중요;
border-color: #4666b8 !중요;
}
라훌 라즈 팔로우
I am a developer who is trying to improve myself day by day.
Reference
이 문제에 관하여(조건문: 파트 2), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/rahulrajrd/conditional-statements-part-2-50bi텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)