분기문 잘 작성하기 if, switch, lookup table..

개발.log·2023년 3월 20일
1

const getUserType = (type) => {
  if (type === 'ADMIN') {
    return '관리자';
  } else if (type === 'USER') {
    return '사용자';
  } else if (type === 'GUEST') {
    return '손님';
  } else {
    return '해당없음';
  }
};

// early return으로 조금 더 깔끔하게 고쳐보자. 
const getUserType = (type) => {
  if (type === 'ADMIN') {
    return '관리자';
  }
  if (type === 'USER') {
    return '사용자';
  }
  if (type === 'GUEST') {
    return '손님';
  }
  return '해당없음';
};

// 분기문이 많을때에는 조금더 깔끔하게 switch문으로 작성 해보자.
const getUserType = (type) => {
  switch (type) {
    case 'ADMIN':
      return '관리자';
    case 'USER':
      return '사용자';
    case 'GUEST':
      return '손님';
    default:
      '해당없음';
  }
};

//Object Lookup Table 
const getUserType = (type) => {
  const USER_TYPE = {
    ADMIN: '관리자',
    USER: '사용자',
    GUEST: '손님',
  }
  return USER_TYPE[type] ?? '해당없음';
};

내 경우, 비슷한 틀의 다른 객체가 담긴 EventBanner를 자주 바꿔주어야 하는 로직이 있었는데, 상수로 선언한 lookup table로 따로 빼서 관리하니까 관리가 매우 쉬워졌었다!

profile
Think Big Aim High Act Now

0개의 댓글