-
[타입스크립트] 제네릭 에 대하여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
'typescript' 카테고리의 다른 글
[타입스크립트] 연습장 (0) 2021.06.11 [타입스크립트] enum ?? (0) 2021.06.04 [타입스크립트] interface 와 type 의 차이 (1) 2021.06.01 [typescript] 메모장 (0) 2021.04.23 [typescript & emotion] react 에서 emotion 사용해보기 (0) 2021.04.19