type arguments inference

YEONGHUN KO·2023년 11월 25일
0

TYPESCRIPT - BASICS

목록 보기
5/7
post-thumbnail

타입을 모르지만 인자로 넘겨주는 타입에 따라 자동으로 타입이 설정되도록 하려면?? whatsapp 클론에서 useStore을 구현하다가 알게된 사실.

우선 아래 간단한 예시를 보자.

function identity<Type>(arg: Type): Type {
  return arg;
}

let output = identity('haha')
// let output: string

identity에 타입을 명시해주지 않아도 됨. 이걸 타입추론이라고도 함.

타입추론을 응용해 좀 더 복잡하게 만들어보자.

function getProperty<Type, Key extends keyof Type>(obj: Type, key: Key) {
  return obj[key];
}
 
let x = { a: 1, b: 2, c: 3, d: 4 };
 
getProperty(x, "a");
getProperty(x, "m");
 // Argument of type '"m"' is not assignable to parameter of type '"a" | "b" | "c" | "d"'.

pass된 인자로 타입이 자동 추론된다.

profile
'과연 이게 최선일까?' 끊임없이 생각하기

0개의 댓글