[TypeScript] 제네릭

kjy0124·2026년 3월 8일
post-thumbnail

🎯 제네릭

제네릭 함수 사용 이유는 타입을 미리 정하지 않고, 사용할 때 타입을 정해 재사용성과 타입 안정성을 높이기 위해서 사용
제네릭 함수를 사용하게 되면 함수의 인수에 따라 반환 값의 타입을 가변적으로 정해줌

✅ 제네릭 함수 사용 방법

function func<T>(value: T):T{}
  • 위 코드와 같이 함수 이름 우측에 <T>를 넣어줌
  • 추가로 매개변수와 반환값의 타입도 T로 바꿔줌
  • function 함수명<T>(매개변수: T): T{}
  • 이 때 나오는 T타입 변수
function func<T>(value: T): T {
  return value;
}

let num = func(10);

let bool = func(true);

let str = func("hello");
  • 해당 코드에서 각 변수들은 func 함수를 호출해 각각의 다른 타입을 삽입하여 호출
  • 하지만 제네릭 함수라 오류가 발생하지 않음
  • 이유는 앞서 얘기했듯 제네릭의 타입 변수 T가 상황에 따라 다른 타입을 담을 수 있기 때문
💡 이처럼, 함수를 호출할 때마다 타입이 결정됨
  • 혹은 아래 코드와 같은 방식으로 타입 선언할 수도 있다.
let arr = func<[number, number, number]>([1, 2, 3]);
  • 이렇게 T 타입 변수에 할당하고 싶은 타입을 <>안에 적어주면 <[number, number, number]>으로 T에 할당된다.
  • 그러면 func라는 함수가 튜플 타입을 반환하는 함수로 바뀌게 된다.
  • 하지만 정의해놓지 않은 값을 주게 되면 오류가 발생

출처

한 입 크기로 잘라먹는 타입스크립트
https://www.inflearn.com/course/한입-크기-타입스크립트/dashboard

profile
개발 공부...

0개의 댓글