일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 |
- 수학
- 타입스크립트
- Algorithm
- dfs
- Node.js
- 알고리즘
- Nestjs
- 크롤링
- 소켓
- Crawling
- BFS
- typescript
- javascript
- 레벨 1
- 자바스크립트
- HTTP
- 프로그래머스
- type challenge
- 문자열
- 프로그래머스 레벨 2
- 백준
- socket
- 그래프
- 가천대
- TCP
- ip
- dp
- 타입 챌린지
- 쉬운 문제
- HTTP 완벽 가이드
- Today
- Total
목록type-challenge (2)
kakasoo
type ToString= T extends string ? T : never; type ToStringTuple= T extends string[] ? T : never; type Join = T extends [infer F, ...infer Rest] ? `${ToString}${Join}` : ''; type Replace = C extends '' ? never : S extends `${infer F}${infer Rest}` ? F extends C ? [...Replace] : [F, ...Replace] : []; type DropChar = Join DropChar는 문자열에서 특정한 글자가 있을 경우 삭제하는 타입을 구현한다. 사실, 이는 이전에 구현한 R..
type A = { a: 3, b: never, c: 5 }; type Answer = A[keyof A]; // 'a' | 'b' keyof 키워드는 객체의 타입에서 프로퍼티 키 이름만을 뽑아내는데, 이 때 never는 keyof로 뽑히지 않는다. 이 점을 역이용하면 프로퍼티가 never인 것들만 이름을 뽑아내는 것을 만들 수 있다. type PickKeysIsNever = { [K in keyof T]: T[K] extends never ? K : never }[keyof T]; 이 타입은 never를 타입으로 가지는 키 네임들만을 뽑는 타입이다. type RemoveNever = Omit; 이제 원본 T로부터 never만을 Omit해버리면 된다. type Diff = RemoveNever Diff는..