inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

묻고 답해요

174만명의 커뮤니티!! 함께 토론해봐요.

Flat 분석에서 Depth 타입을 위한 배열은 왜 하드코딩일까요?

미해결

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

type FlatArray<Arr, Depth extends number> = { "done": Arr, "recur": Arr extends ReadonlyArray<infer InnerArr> ? FlatArray<InnerArr, [-1,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20][Depth]> : Arr }[Depth extends 01 ? "done" : "recur"]; 위의 코드에서 typescript가 [-1,0,1,...,20] 로 배열을 하드 코딩한 이유는 1. 코드를 직관적으로 이해하기 쉽도록 하기 위함 2. 메서드로 배열 생성했을 때, 해당 배열 생성을 위한 Array의 다른 메서드 의존을 없애기 위함 +다른 배열 생성 방법 예시 중 하나) new Array(21).fill(0).map((_,i)=>i-1) 3. 다시 쓰지도 않을거고, 이정도 사이즈의 배열은 그냥 써도 된다. 4. ?? 어떤 이유일까요? 제로초님의 생각은 어떠신지 궁금합니다.

  • flat
  • typescript
김준성 댓글 1 좋아요 0 조회수 325

인기 태그

인프런 TOP Writers

주간 인기글