타입 추론 2

infer - 타입 추론하기

타입을 추론해주는 문법이 존재한다. 아래 코드를 살펴보자. FuncA와 FuncB라는 메서드 타입 두 개가 존재한다. 그리고 infer 문법을 사용해서 반환 타입을 추출하는 ReturnType을 만들어서, 각각 타입 A, B, C에 반환 타입을 정의해주었다. C의 경우 T 위치에 메서드 타입이 아닌 원시 타입이 들어가 never 타입이 추출된 것을 볼 수 있다.infer는 extends와 같이 사용해야 한다. T가 확장될 수 있도록 슈퍼타입이 가능한 타입을 추론해주는 역할이기에 extends infer 추론할 타입(대체로 R)로 작성하여 사용을 해준다.한 가지 예시를 더 살펴보자. 보면 extends 뒤쪽으로 Promise 타입이 들어오고 해당 Promise에 들어가는 타입이 T의 슈퍼 타입이 되도록 추..

언어/TypeScript 2024.10.17

타입 추론

타입스크립트에서 타입을 명시하지 않아도 타입을 지정할 수 있다. 이를 타입 추론이라 한다.다음 코드를 보자. 코드를 보면 변수 a에 숫자 10이라는 값을 할당했다. 또한, a에는 타입을 지정하지 않았다.하지만, 이후 a에 문자열 값인 "hello"를 할당하려 하자 에러가 발생했다.a에 숫자 10을 할당하면서 타입 추론에 의해 변수 a의 타입은 number로 결정된 것이다.객체의 타입 추론객체에서도 타입 추론은 동일하다.함수에서의 타입 추론함수 역시 마찬가지다.매개변수에서의 타입다만, 매개변수에서는 타입을 지정해줘야 한다. 위와 같은 경고문을 없애기 위해서는 타입을 명시하거나, 초기값을 할당하여 타입 추론을 해주는 방법이 있다.any 타입 추론Any 타입은 역시 굉장히 특수한 타입이다. 다음 코드를 보자...

언어/TypeScript 2024.08.15