ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • (TypeScript) - 제네릭
    개발/TypeScript 2025. 8. 26. 15:05
    반응형

    ■ 제네릭 (일반적인, 포괄적인)

    : 모든 타입에 두루 두루 쓸 수 있는 범용적 함수이다.

     

    //제네릭 함수
    function func<T>(value: T): T {
        return value;
    }

     

    <T> 모양을 사용하면 되는데 여기서 T 는 타입을 저장하는 변수, 즉 타입 변수이다.

    그리고 나서 매개변수와 반환값도 T 로 바꿔준다.

     

    let num = func(10); //number
    
    let bool = func(true); //boolean
    
    let str = func('string'); //string

     

    그러면 각각의 변수가 우리가 원하는 값으로 추론 되는 것을 확인할 수 있다.

    함수를 호출할 때마다 타입이 담기게 되어 그때 그때마다 타입을 지정할 수 있는 것이다.

     

    ■ 정리

    타입변수와 함께 여러 타입의 값을 인수로 받아서 범용적으로 쓸 수 있는 함수를 제네릭 함수라고 한다.

     

    제네릭 함수는 타입 변수를 꺽쇠와 함께 함수 이름 뒤에 선언하고,

    이 타입 변수에 할당되는 타입은 함수 호출할 때 인수에 따라서 결정된다.

     

    즉, func(10) 에서는 인수가 10 이여서 number 로 타입이 지정된 것이다.

     

    * 명시적 타입 지정

    let arr = func<[number, number, number]>([1, 2, 3]);

     

    타입을 명시적으로 지정해주고 싶으면 타입을 정해주면 된다.

    해당 예시는 넘버 배열 함수를 튜플 함수로 지정하는 방법이다.

     

    반응형
Designed by Tistory.