[한입] 함수 타입 표현과 호출 시그니처

TK·2023년 12월 12일
0

[강의] 한입 시리즈

목록 보기
25/59

함수 타입 표현식

(function type expression)

  • 타입별칭 생성
  • 함수에 선언식에 직접 정의하지 않아도 됨
// 타입별칭
type Add = (a: number, b: number) => number;

const add: Add = (a, b) => a + b;
  • 다음과 같이 여러 식에 적용할 수 있다.
type Operation = (a: number, b: number) => number;

const add: Operation = (a, b) => a + b;
const sub: Operation = (a, b) => a - b;
const multiply: Operation = (a, b) => a * b;
const divide: Operation = (a, b) => a / b;
  • 다음과 같이 치환할수도 있다.
const add: (a: number, b: number) => number = (a, b) => a + b;

관련자료: 함수 타입


호출 시그니처

(콜 시그니처)

type Operation2 = { (a: number, b: number): number };

const add2: Operation2 = (a, b) => a + b;
const sub2: Operation2 = (a, b) => a - b;
const multiply2: Operation2 = (a, b) => a * b;
const divide2: Operation2 = (a, b) => a / b;

  • 하이브리드 타입 : 객체로도 함수로도 사용 가능
type Operation2 = {
  (a: number, b: number): number;
  name: string;
};

const add2: Operation2 = (a, b) => a + b;

add2();
add2.name;

관련자료: 함수 타입 표현식과 호출 시그니쳐

profile
쉬운게 좋은 FE개발자😺

0개의 댓글