함수 시그니처를 type 으로 선언하기
type
에 단순히 하나의 타입을 지정하는 것을 넘어 함수 시그니처 자체도 하나의 타입으로 만들 수 있다.- 아래의 예제는 2개의
number
타입 파라미터를 받고number
를 반환하는 시그니처를 만들고 적용한 예이다.
type TypeFunctionSignature1 = (x: number, y: number) => number;
const nf: TypeFunctionSignature1 = (x, y) => x + y;
- 아래는
string
의 경우이다.
type TypeFunctionSignature2 = (x: string, y: string) => string;
const sf: TypeFunctionSignature2 = (x, y) => x + y;
콜백 함수에 type 넣기
map
같이 인자로 콜백함수를 받는 경우에도 타입을 이용할 수 있다.- 콜백함수에 넣을 인자를 시그니처로 정의하면 된다.
type Mapper = (x: string) => string;
const list = (callback: Mapper) => {
return ["a", "b", "c"].map(callback);
};
console.log(list((e) => `-> ${e}`));
Interface 로 함수 시그니처 선언하기
interface
로도 함수 시그니처를 선언할 수 있다.type
과 매우 흡사하다.
interface InterfaceFunctionSignature1 {
(x: number, y: number): number;
}
const mul: InterfaceFunctionSignature1 = (x, y) => x * y;
반응형
'Typescript' 카테고리의 다른 글
TS013. 타입스크립트의 문장(statement)과 표현식(expression) (0) | 2023.12.28 |
---|---|
TS012. 타입스크립트 함수 오버로딩 (0) | 2023.12.28 |
TS010. 타입스크립트 함수 정의 (Function Definition) (0) | 2023.12.28 |
TS009. 타입스크립트의 내로잉 (Narrowing) 이란? (0) | 2023.12.28 |
TS008. Typescript Intersection 이란? (0) | 2023.12.28 |