JavaScript-if문 중첩 줄이기

hannah·2023년 7월 25일
0

JavaScript

목록 보기
30/121
post-custom-banner

if문 중첩 줄이기

  1. if문 다음에 나오는 공통된 절차를 각 분기점 내부에 넣는다.
  2. 분기점에서 짧은 절차부터 실행하게 if문을 작성한다.
  3. 짧은 절차가 끝나면 return(함수 내부의 경우)이나 break(for문 내부의 경우)로 중단한다.
  4. else를 제거한다(이때 중첩 하나가 제거된다.)
    const onClickNumber = (number) => (event) => {
        if (operator) {
          if(!numTwo){      //numTwo가 없는 경우에는 화면에 있는 이전 숫자를 지우기
            $result.value="";
          }
          numTwo += number;
        } else {
          numOne += number;
        }
        $result.value += number;
      };

1번

    const onClickNumber = (number) => (event) => {
        if (operator) {
          if(!numTwo){
            $result.value="";
          }
          numTwo += number;
          $result.value += number;      //공통된 절차를 넣어줌
        } else {
          numOne += number;
          $result.value += number;      //공통된 절차를 넣어줌
        }

      };

2번

    const onClickNumber = (number) => (event) => {
        if (!operator) {
          numOne += number;				//짧은 절차부터 실행되도록 if문 작성
          $result.value += number;
        } else {
          if(!numTwo){
            $result.value="";
          }
          numTwo += number;
          $result.value += number;
        }
      };

3번

    const onClickNumber = (number) => (event) => {
        if (!operator) {
          numOne += number;
          $result.value += number;
          return;						
        }

          if(!numTwo){					        //else를 제거
            $result.value="";
          }
          numTwo += number;
          $result.value += number;
      };

문제

function test() {
	let result = '';
    if(a) {
    	if(!b) {
        	result = 'c';
        }
    }	else {
    	result = 'a';
    }
    result += 'b';
    return result;
}










정답

function test() {
	let result = '';
    if(!a) {
    	result = 'a';
        result += 'b';
    	return result;
    }
    if(!b) {
        result = 'c';
    }
        result += 'b';
    	return result;
}
post-custom-banner

0개의 댓글