제네릭

function func<T>(value: T): T {
  return value;
}

let num = func(10);

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

제네릭 함수로 만들어, 인수에 따라서 반환 값의 타입을 가변적으로 정할 수 있음.

<T>은 타입 변수

함수를 호출할 때마다 결정됨.

타입변수를 명시적으로 직접 정의

function func<T>(value: T): T {
  return value;
}

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

타입 변수 응용하기

function swap<T, U>(a: T, b: U) {
  return [b, a];
}

const [a, b] = swap("1", 2);

타입변수는 여러개를 사용할 수 있다.

map, forEach 메서드 타입 정의

제네릭 인터페이스와 제네릭 타입 별칭

제네릭 인터페이스

타입 변수 = 타입 파라미터 = 제네릭 타입 변수 = 제네릭 타입 파라미터

인덱스 시그니처(Index Signature)

제네릭 타입 별칭

제네릭 인터페이스의 활용 예시

유저 관리 프로그램 유저 구분 : 학생 유저 / 개발자 유저

제네릭 클래스

프로미스와 제네릭

Last updated