계산기 함수 만들기

HYl·2022년 4월 28일
0

문법 공부를 하던 도중, 간단한 계산기 함수를 만들어 볼 것이다.

function calculate(kind: string, num1: number, num2: number): number {
  switch(kind) {
    case 'add':
      return num1 + num2;
    case 'substract':
      return num1 - num2;
    case 'multiply':
      return num1 * num2;
    case 'divide':
      return num1 / num2;
    case 'remainder':
      return num1 % num2;
    default:
      throw new Error('kind를 잘못 설정하였습니다.');
  }
}

console.log(calculate('add', 1, 3)); // 4
console.log(calculate('substract', 3, 1)); // 2
console.log(calculate('multiply', 4, 2)); // 8
console.log(calculate('divide', 4, 2)); // 2
console.log(calculate('remainder', 5, 2)); // 1

calculate 함수는 3개의 인자를 받는다. 첫 번째 인자는 string 타입이고, num1 과 num2는 number 타입이다. return 되는 타입 역시 number 타입이다.

마지막에는 throw new Error를 이용하여 에러 처리를 해주었다.

union type 선언

더 나아가서, kind에는 add, substract, multiply, divede, remainer 가 들어갈 수 있는데 단순히 string 타입이라고 적어두기만 한다면 직관적이지 않아 보일 수 있다. 유니언 타입을 사용하여 kind에 선언할 수 있는 인자를 직관적으로 나타내보자.

type Kind = 'add' | 'substract' | 'multiply' | 'divide' | 'remainder';

function calculate(kind: Kind, num1: number, num2: number) {
	...
}
profile
꾸준히 새로운 것을 알아가는 것을 좋아합니다.

0개의 댓글