
type Add = (a: number, b: number) => number;
const add: Add = (a, b) => a + b;
type Add (매개변수 타입) => 반환값 타입
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: (a: number, b: number) => number = (a, b) => a + b;
const sub2: Operation = (a, b) => a - b;
const multiply2: Operation = (a, b) => a * b;
const divide2: Operation = (a, b) => a / b;
(a: number, b: number): number; 이 부분을 떼어서 별도로 함수 타입을 지정해주는 것을 호출 시그니처 라고 부른다.type Operation2 = {
(a: number, b: number): number;
name: string;
};
한 입 크기로 잘라먹는 타입스크립트
https://www.inflearn.com/course/한입-크기-타입스크립트/dashboard