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

작성자 없음

작성자 정보가 삭제된 글입니다.

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

filter 타입 직접 만들기

filter item is T vs item is S

작성

·

245

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를 필터링 해준다는 의미부여를 하기 위함인지 기능적으로도 차이가 있는건지 알고 싶습니다.

답변 1

0

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

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

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

작성자 없음

작성자 정보가 삭제된 글입니다.

질문하기