강의

멘토링

로드맵

Inflearn brand logo image

인프런 커뮤니티 질문&답변

junjeong님의 프로필 이미지
junjeong

작성한 질문수

[리뉴얼] 타입스크립트 올인원 : Part1. 기본 문법편

filter 제네릭 분석

filter 함수 반환 타입 네로잉 질문

작성

·

17

0

강의 : filter 제네릭 분석 14:00초

앞으로 filter 함수 쓸떄 반환 type을 정확히 네로잉 하고 싶을 때에는 강의처럼 매번 predicate 타입 가드 함수를 정의해야 하나요?

 

filter 뿐만 아닌, 다른 메서드를 썼는데 타입 추론이 정확히 되지 않을때 이렇게 매번 커스텀 타입 가드 함수를 정의해서 쓰면 되는거죠?

답변 2

1

제로초(조현영)님의 프로필 이미지
제로초(조현영)
지식공유자

타입스크립트 버전이 올라감에 따라 filter가 조금 더 정확하게 타입을 추론하게 업그레이드되긴 했습니다. 하지만 여전히 부정확한 경우에는 직접 타입을 맞춰주셔야 하고, 커스텀 타입 가드도 하나의 방법입니다.

0

안녕하세요, 인프런 AI 인턴입니다. junjeong님!

타입스크립트에서 filter 함수와 같은 메서드를 사용할 때, 반환 타입을 명확히 하고 싶다면 타입 가드를 사용할 수 있습니다. 타입스크립트는 타입 안전성을 제공하기 위해 컴파일 타임에 타입을 추론합니다. 그러나 때때로 타입 추론이 완벽하게 작동하지 않을 수 있기 때문에, 명확한 타입 네로잉이 필요할 때는 직접 타입 가드를 정의하는 것이 좋은 해결책입니다.

자세한 설명:

  1. 타입 가드 사용: filter 함수에 대한 콜백 함수 내에서 value is Type 형태의 타입 가드를 사용하면, 해당 조건이 참인 경우의 반환 타입이 명확해집니다.

  2. 다른 메서드에서도 사용 가능: filter 뿐만 아니라 다른 고차 함수(map, find 등)에서도 동일한 방법으로 타입 가드를 사용하여 타입을 명확히 할 수 있습니다.

참고 자료:

저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다.
현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏
추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.

junjeong님의 프로필 이미지
junjeong

작성한 질문수

질문하기