TS 제네릭타입

박상훈·2023년 3월 29일
0

제네릭 타입

const names: Array = [];

제네릭 타입의 예시

function merge(objA: object, objB: object) {
  return Object.assign(objA, objB);
}
const mergedObj = merge({ name: "Max" }, { age: 30 });
mergedObj.name;
// name에 접근 할 수 없다.

형변환을 통해

function merge(objA: object, objB: object) {
  return Object.assign(objA, objB);
}
const mergedObj = merge({ name: "Max" }, { age: 30 }) as (name:string ,age:number);
mergedObj.name;

형변환을 통해 해결할 수 있지만 번거로움의 문제가 남아있음

제네릭을 이용하자

function merge<T, U>(objA: T, objB: U) {
  return Object.assign(objA, objB);
}
const mergedObj = merge({ name: "Max" }, { age: 30 });
mergedObj.name;

T로 보통 표기되며 아무글자나 상관없으며 어떤 타입이 들어갈지를
정해줄수있다.

profile
다들 좋은 하루 되세요

0개의 댓글

관련 채용 정보