12. 함수 표현식에 타입 적용

ClassBinu·2024년 4월 14일

거두절미하고 타입 스클비트에서는 함수 표현식을 사용하는 것이 좋음.
매개변수부터 반환값까지 전체를 함수 타입으로 선언해서 함수 표현식에 재사용 가능

type DiceRollFn = (sides: number) => number;
const rollDice: DiceRollFn = (sides) => {
  return sides;
};

사칙 연산 줄이기

// 함수 마다 타입 지정
function add(a: number, b: number) {
  return a + b;
}

function sub(a: number, b: number) {
  return a - b;
}

function mul(a: number, b: number) {
  return a * b;
}

function div(a: number, b: number) {
  return a / b;
}


// 함수 시그니처로 타입 통합
type BinaryFn = (a: number, b: number) => number;

const add: BinaryFn = (a, b) => a + b;
const sub: BinaryFn = (a, b) => a - b;
const mul: BinaryFn = (a, b) => a * b;
const div: BinaryFn = (a, b) => a / b;

이렇게 추론한다.

typeof

다음과 같은 방식으로 기존 함수의 타입을 추론할 수도 있음.

const checkedFetch: typeof fetch = async (input, init) => {
  //...
}

0개의 댓글