참치코더의 꿈 메모장

TypeScript / 함수 타입 정리 본문

TypeScript

TypeScript / 함수 타입 정리

참치깡 2025. 12. 2. 11:45
728x90

 

함수 타입

 

TypeScript에서 함수 타입은 함수가 입력으로 받는 매개변수와 반환값의 타입을 명시하는 것이다.

 

ex)

function add(a: number, b: number): number{

    return a + b;

}

 

함수 타입 선언 방법

 

1. 함수 선언 시 타입 명시

 

function greet(name: string): string {

    return `Hello, ${name}`;

}

 

- 매개변수 타입과 반환값 타입을 바로 함수에 붙인다.

 

2. 변수에 함수 타입 지정

 

let add: (x: number, y: number) => number;

 

add = (a, b) => a + b;

 

- 변수에 이 타입을 지정하면, 타입에 맞는 함수만 할당 가능하다.

- JS의 콜백 함수 타입을 지정할 때 유용하다.

 

3. 선택적 매개변수 (?)

 

function log(message: string, level?: string){

     console.log(`[${level || "INFO"}] ${message}`);

}

 

log("Hello"); // 가능하다

log("Hello", "WARN"); // 가능하다.

 

- level? : string

  매개변수를 선택적으로 받기 때문에 함수를 사용할때 선택적으로 매개변수를 사용할수 있게 된다.

 

4. 나머지 매개변수 (Rest Parameter)

 

function sum(...valuse: number[ ]): number {

     let sum = 0;

     values.forEach((value) => sum + value);

     return sum;

}

 

sum(1,2,3,4);

 

5. 함수 타입 별칭 (Type Alias)

 

type BinaryOperation = (a: number, b: number) => number;

 

const multiply: BinaryOperation = (x, y) => x * y;

const divide: BinaryOperation = (x, y) => x / y;

 

- type으로 만들어 두면 재사용이 가능하다.

- 복잡한 콜백 함수 타입 정의 시 유용하다.

 

 

6. 반환타입 void / never

 

function logMessage(msg: string): void{

     console.log(msg);

}

 

- 반환값이 없는 함수일때 사용한다,

 

function throwError(message: string): never {

     throw new Error(message);

}

 

- 함수가 절대 정상 종료하지 않는 경우 사용한다.

728x90
Comments