[JavaScript] IF문 중첩 줄이기

철웅·2022년 11월 24일
0
post-thumbnail

방법은 아래와 같다.
1. 공통된 절차를 각 분기점 내부에 넣는다.
2. 분기점에서 짧은 절차부터 실행하게 if문을 작성한다.
3. 짧은 절차가 끝나면 return(함수)이나 break(for문)로 중단한다.
4. else를 제거한다.(이 때 중첩 하나가 제거된다.)

function test() {
    let result = '';
    if(a){
        if(b){
            result = 'c';
        }
    }
    else{
        result = 'a';
    }
    result += b;
    console.log(result);
}

// 1. 공통된 절차를 각 분기점 내부에 넣는다. (result += b; console.log(result)

function test() {
    let result = '';
    if(a){
        if(b){
            result = 'c';
        }
        result += b;
        console.log(result);
    }
    else{
        result = 'a';
        result += b;
        console.log(result);
    }   
}


// 2. 분기점에서 짧은 절차부터 실행하게 if문을 작성한다. (!a, if문 뒤집기)

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


// 3. 짧은 절차가 끝나면 return(함수)이나 break(for문)로 중단한다.

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


// 4.else를 제거한다.(이 때 중첩 하나가 제거된다.)

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


JS뿐 아니라 어떤 언어를 쓰던 들여쓰기 하나를 없앨 수 있다는 점에서 좋은 테크닉인 것 같다.

0개의 댓글