일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 29 | 30 | 31 |
- 백준
- Node.js
- 타입 챌린지
- 알고리즘
- 가천대
- 그래프
- 프로그래머스 레벨 2
- Algorithm
- BFS
- socket
- ip
- type challenge
- 쉬운 문제
- 프로그래머스
- 문자열
- 레벨 1
- 소켓
- 자바스크립트
- 수학
- 크롤링
- Nestjs
- HTTP
- javascript
- dp
- typescript
- 타입스크립트
- TCP
- dfs
- Crawling
- 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는..