if문 처리하기

lyju777·2023년 1월 14일
0
post-thumbnail

코드 짜다보면 if문으로 처리하는 부분이 꽤나 많다.
중첩이고 가독성이고 뭐고 그냥 마구잡이식으로 처리하기 보다는 나중에 내 코드를 다시 보게될 나 또는 다른 사람을 위해 코드를 작성한다는 마음으로 이쁘게? if문을 작성하는 방법을 간단하게 정리하였다.

Nesting if문이란

  if ("오늘점심값" < 7000) {
        if ("떡볶이") {
            console.log("먹자");
            if ("쌀국수") {
                console.log("비싸");
            }
          ...
        }
    } else {
      console.log("안먹어");
    }

if문 안에 if문이 중첩으로 3개이상 포함되게 되는 것을 Nesting if문이라고 한다 if문 사용시 항상 주의가 필요함 중첩되면 될수록 복잡해지기 쉬움 이런경우는 무조건 피하자
불가피하게 중첩으로 사용해야 할 경우에는 함수로 따로 빼서 사용하는 방안을 사용하도록

보호절 숙어(Guard Clause)

  if ("떡볶이") {
    console.log("좋지");
    return;
   }

  if ("쌀국수") {
    console.log("먹을까");
    return;
   }

  if ("삼겹살") {
    console.log("비싸..");
    return;
   }

	otherFood();

상단에서 사전 조건을 판별하여 거짓이라면 예외 혹은 반환 처리하여 더 이상 다음 단계가 실행되지 않도록 사전에 차단하는 방식으로 가장 대표적인 if문의 처리 예다. 일할때는 특히 유효성 체크할때 자주 사용하게 되는것 같다.

조건문 사용시 규칙

긍정조건 먼저 체크

if (isFood) {
	// 음식이면
} else {
    // 음식이 아니라면
}

if/else사용시 if 에는 가능한 긍정의 조건을 우선으로 비교하도록 한다.

중첩되는 괄호는 최소화 하기

// if (!(isPizza && !isHamburger)) { 
//     ...
// }

if (!isPizza || isHamburger) {
	...
}

괄호없이 체크할 수 있는데 굳이 불필요한 괄호를 사용하는것은 무의미🚫

삼항연산자

var age = 26;
var beverage = (age >= 21) ? "Beer" : "Juice";
console.log(beverage); // "Beer"

간단한 if/else문으로 끝낼 수 있으면 삼항연산자를 사용하여 더 깔끔하게 처리해주는 방법도 좋다고 생각한다. 다만 else if까지 늘어가면 더 혼란스러워지기만 해질 수도 있으니 비추

switch문

switch(food) {
  case "떡볶이":
      console.log("좋지");
  case "쌀국수":
      console.log("먹을까"); 
  case "삼겹살":
  	console.log("비싸.."); 
  default:
      console.log('안먹어');
}

else if문으로 비교할 값이 많을 경우에는 switch문을 사용하는게 가독성측면에서 훨씬 좋다고 생각하여 switch로 처리될 수 있다면 대부분 사용하게 된다. 일하다보면 특히나 TYPE을 비교해야하는 경우가 다분한데 그럴때 정말 감사하다..👍👍👍

profile

0개의 댓글