Typescript 13.함수 타입

하비·2024년 4월 3일
0

typescript

목록 보기
13/14

Function Type

함수는 어느 어플리케이션에서도 기초적인 구성 요소의 역할을 한다.

//함수 타입 표현식
function greeter(fn: (a: string) => void) {
  fn("Hello, World");
}
function printToConsole(s: string) {
  console.log(s);
}
greeter(printToConsole);
//타입 별칭 사용하기
type GreetFunction = (a: string) => void;
function greeter(fn: GreetFunction) {
  // ...
}

호출 시그니처

Javascript에서, 함수들은 호출이 가능할 뿐만 아니라, 프로퍼티도 가질 수 있다.
하지만 일반 함수 타입 표현식 문법에서는 프로퍼티를 정의할 수 없다.
이것을 가능하게 하려면 객체 타입에 호출 시그니처를 사용하면 가능함.

type LogFn = (text:string) => void // 호출 시그니처를 통해 LogFn 함수 타입 지정
let log: LogFn = (text) => console.log(text) // 함수 log를 선언하며 LogFn 타입임을 명시

여기서 주의할 점은 호출 시그니처는 일반 타입 선언 처럼 : 가 아닌 =>를 사용해 자체가 함수임을 나타낸다는 것.

profile
개발자를 꿈꾸는 하비입니다

0개의 댓글