강의

멘토링

로드맵

Inflearn Community Q&A

No author

This post's author information has been deleted.

[Renewal] TypeScript All-in-One: Part 1. Basic Grammar

Create your own filter type

filter item is T vs item is S

Written on

·

272

0

filter<S extends T>(callbackFn: (item: T) => item is T): S[]; // item is T
// filter<S extends T>(callbackFn: (item: T) => item is S): S[]; // item is S
const c: Array<string | number> = [1, '2', 3];
const a7 = c.filter((item): item is number => typeof item === 'number');

위 코드에서 콜백함수의 반환 타입가드를 item is T로 하든 item is S로 하든 a7 변수는 number[] 로 추론되는데

왜 lib.es5.d.ts에선 item is S로 하는지 궁금합니다.

단순히 T의 부분집합 S를 필터링 해준다는 의미부여를 하기 위함인지 기능적으로도 차이가 있는건지 알고 싶습니다.

typescript

Answer 1

0

zerocho님의 프로필 이미지
zerocho
Instructor

지금 위에 filter를 새로 정의하신건가요?

아래 c.filter에서 그 filter를 안 쓰고 있을 것 같은데요?

No author

This post's author information has been deleted.

Ask a question