ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • [타입스크립트] 제네릭 에 대하여
    typescript 2021. 6. 3. 11:40
    반응형

    타입을 마치 함수의 파라미터처럼 사용하는 것을 제네릭 이라고 한다.

     

    예시를 살펴보자

    function exgeneric<T>(text : T): T{
    	return text
    }
    
    exgeneric <string> ("wow");  
    exgeneric <number> (100); 
    
    둘다가능

    꺽쇠 자리의 T 라는 문자가 타입자리에 반복 된것을 볼수 있다. 

    이 의미는 T 가 쓰이는 자리(파라미터, 리턴)에 타입을  일괄적으로 정해줄수 있다는 의미이다.

     

    이것의 이점은 하나의 함수를 여러 데이터 타입으로 사용할수 있게된다.

     

    물론 타입을 any 로 설정하게 되면 이러한 이점을 누릴 수도 있지만 이경우 동적으로 타입이 정해져 타입스크립트의 이점을 누릴수 없게 되니까 참고해서 상황에 맞게 사용하자

     

    좀더 응용된 예시 살펴보고 끝내자

    function exgeneric <T> (arg : T[]): number {
    	return arg.length
    }
    
    exgeneric <string> (["wow","wowwow","wowwowowow"]);  
    exgeneric <number> ([100,200,300]); 
    exgeneric <boolean> ([true,true,true,false]); 
    exgeneric <void> ([null,undefined])
    

     

    void란

    값을 반환하지 않는 함수의 타입을 지정할때 쓰일수 있는 타입이다 

    타입이 없다라는 의미이며 undefined 나 null 을 할당할수 있다.

     

    배열 타입지정 

    number[] , Array<number>

     

    튜플 타입지정

    let x: [string, number];

     

    x = ["hello", 10]; // OK

    x = [10, "hello"]; // Error

     

     

     

     

     

     

     

Designed by Tistory.