깨끗한 코드를 작성하기 위해 함수에서 Else 문을 피하십시오.

9432 단어 programmingjavascript
대학에서 프로그래밍 수업을 들었을 때 기본 주제 중 하나는 if - else if - else 문을 포함한 제어 흐름이었습니다.

if (a === 'one') {
  // do something here
} else if (a === 'two'){
  // do something here
} else {
  // I said, do something!!
}


제 강사는 if 문을 작성하고 구현하는 방법을 잘 가르쳐 주었습니다. 하지만 함수에 대해 배우기 전에 if 문을 배웠다는 것이 기억났습니다.

함수 외부 또는 최상위 코드에서 else를 사용하는 것은 괜찮습니다. 게다가 여전히 else가 필요합니다.

const sayHi = true;
if (sayHi) {
  console.log("Hi!")
} else {
  console.log("....")
}


무언가를 반환하는 함수에서는 대부분의 경우 else 문이 필요하지 않습니다. 다음은 그 예입니다.

function func(isRich: boolean){
  if (isRich) {
    return "I am rich!";
  } else {
    return "Can you give me a money, please?";
  }
}


함수는 return가 작성된 후 코드 실행을 중지하므로 else 문을 제거하면 됩니다.

function func(isRich: boolean){
  if (isRich) {
    return "I am rich!";
  }
  // intepreter, compiler, or anything won't execute codes bellow
  return "Can you give me a money, please?";
}


지정된 다른 조건을 확인해야 하는 경우 else if 문을 사용하고 블록 내부에 논리를 작성할 수 있습니다.

function grade(score: number) {
  if (score >= 90) {
    return 'A';
  } else if (score >= 80) {
    return 'B';
  } else if (score >= 70) {
    return 'C';
  } else if (score >= 60) {
    return 'D';
  } else {
    return 'F';
  }
};


또는 switch-case 로 쓸 수 있습니다.

function grade(score: number){
  switch (true) {
    case score >= 90:
      return 'A';
    case score >= 80:
      return 'B';
    case score >= 70:
      return 'C';
    case score >= 60:
      return 'D';
    default:
      return 'F';
  }
};


위의 두 가지 예는 잘 작동합니다. 하지만 저는 이 스타일이 더 좋습니다.

function grade(score: number){
  if (score >= 90) return 'A';
  if (score >= 80) return 'B';
  if (score >= 70) return 'C';
  if (score >= 60) return 'D';
  return 'F';
};


읽어 주셔서 감사합니다!

좋은 웹페이지 즐겨찾기