타입스크립트 타입 챌린지 모음
by the power of TypeScript's well-known Turing Completed type system
타입을 잘 선언하면 잠재적인 버그를 피할 수 있고 프로젝트의 유지보수를 향상시킬 수 있습니다.
타입을 잘 다듬어 줄 수 있는 좋은 유틸리티 라이브러리들이 있습니다.(ts-toolbelt, utility-types, SimplyTyped, 등등). 이중 이미 사용하고 있는 라이브러리들도 있을 수 있습니다.
이 프로젝트는 타입 시스템이 어떻게 작동하는지 이해하고, 자신의 유틸리티를 작성해보거나 챌린지를 재미있게 해보는 것을 목표로 하고 있습니다. 또한 현업에서 마주하게되는 질문과 해답을 위한 커뮤니티를 만들기 위한 목적도 있습니다! 이 또한 챌린지의 한 부분이 될 수 있겠죠!
배지를 클릭해서 챌린지의 자세한 내용을 확인해보세요.
일반 텍스트로
- 4・Pick
- 7・Readonly
- 11・Tuple to Object
- 14・First of Array
- 18・Length of Tuple
- 43・Exclude
- 189・Awaited
- 268・If
- 533・Concat
- 898・Includes
- 3057・Push
- 3060・Unshift
- 3312・Parameters
- 2・Get Return Type
- 3・Omit
- 8・Readonly 2
- 9・Deep Readonly
- 10・Tuple to Union
- 12・Chainable Options
- 15・Last of Array
- 16・Pop
- 20・Promise.all
- 62・Type Lookup
- 106・Trim Left
- 108・Trim
- 110・Capitalize
- 116・Replace
- 119・ReplaceAll
- 191・Append Argument
- 296・Permutation
- 298・Length of String
- 459・Flatten
- 527・Append to object
- 529・Absolute
- 531・String to Union
- 599・Merge
- 612・KebabCase
- 645・Diff
- 949・AnyOf
- 1042・IsNever
- 1097・IsUnion
- 1130・ReplaceKeys
- 1367・Remove Index Signature
- 1978・Percentage Parser
- 2070・Drop Char
- 2257・MinusOne
- 2595・PickByType
- 2688・StartsWith
- 2693・EndsWith
- 2757・PartialByKeys
- 2759・RequiredByKeys
- 2793・Mutable
- 2852・OmitByType
- 2946・ObjectEntries
- 3062・Shift
- 3188・Tuple to Nested Object
- 3192・Reverse
- 3196・Flip Arguments
- 3243・FlattenDepth
- 3326・BEM style string
- 3376・InorderTraversal
- 4179・Flip
- 4182・Fibonacci Sequence
- 4260・AllCombinations
- 4425・Greater Than
- 4471・Zip
- 4484・IsTuple
- 4499・Chunk
- 4518・Fill
- 4803・Trim Right
- 5117・Without
- 5140・Trunc
- 5153・IndexOf
- 5310・Join
- 5317・LastIndexOf
- 5360・Unique
- 5821・MapTypes
- 7544・Construct Tuple
- 8640・Number Range
- 8767・Combination
- 8987・Subsequence
- 9142・CheckRepeatedChars
- 9286・FirstUniqueCharIndex
- 9616・Parse URL Params
- 9896・GetMiddleElement
- 9898・Appear only once
- 9989・Count Element Number To Object
- 10969・Integer
- 16259・ToPrimitive
- 17973・DeepMutable
- 18142・All
- 18220・Filter
- 21104・FindAll
- 21106・Combination key type
- 21220・Permutations of Tuple
- 25170・Replace First
- 25270・Transpose
- 26401・JSON Schema to TypeScript
- 27133・Square
- 27152・Triangular number
- 27862・CartesianProduct
- 27932・MergeAll
- 27958・CheckRepeatedTuple
- 28333・Public Type
- 29650・ExtractToObject
- 29785・Deep Omit
- 30301・IsOdd
- 30430・Tower of hanoi
- 30958・Pascal's triangle
- 30970・IsFixedStringLiteralType
- 34007・Compare Array Length
- 6・Simple Vue
- 17・Currying 1
- 55・Union to Intersection
- 57・Get Required
- 59・Get Optional
- 89・Required Keys
- 90・Optional Keys
- 112・Capitalize Words
- 114・CamelCase
- 147・C-printf Parser
- 213・Vue Basic Props
- 223・IsAny
- 270・Typed Get
- 300・String to Number
- 399・Tuple Filter
- 472・Tuple to Enum Object
- 545・printf
- 553・Deep object to unique
- 651・Length of String 2
- 730・Union to Tuple
- 847・String Join
- 956・DeepPick
- 1290・Pinia
- 1383・Camelize
- 2059・Drop String
- 2822・Split
- 2828・ClassPublicKeys
- 2857・IsRequiredKey
- 2949・ObjectFromEntries
- 4037・IsPalindrome
- 5181・Mutable Keys
- 5423・Intersection
- 6141・Binary to Decimal
- 7258・Object Key Paths
- 8804・Two Sum
- 9155・ValidDate
- 9160・Assign
- 9384・Maximum
- 9775・Capitalize Nest Object Keys
- 13580・Replace Union
- 14080・FizzBuzz
- 14188・Run-length encoding
- 15260・Tree path array
- 19458・SnakeCase
- 25747・IsNegativeNumber
- 28143・OptionalUndefined
- 30178・Unique Items
- 30575・BitwiseXOR
- 31797・Sudoku
- 31824・Length of String 3
- 32427・Unbox
- 32532・Binary Addition
- 33763・Union to Object from key
- 34286・Take Elements
🔥 여기서 챌린지를 시작해보세요. TypeScript Playground
TODO
이 프로젝트에 기여할 수 있는 방법은 다음과 같습니다
- 해답/ 해결책 공유하기
- 새로운 챌린지 제시하기
- 기존 챌린지에 테스트 케이스 추가하기
- 배울 수 있는 리소스 제공 또는 챌린지를 어떻게 해결할지 아이디어 제공하기
- 해결책이 있든지 없든지 상관없이 현업에서 마주하는 문제 공유하기 - 커뮤니티도 해당 문제를 해결하는데 도움을 줄 수 있습니다.
- 이슈에서 토론하며 다른 사람들 도와주기
- 해당 프로젝트 인프라에 기여하기 TODOs.md
open an issue 를 눌러서 맞는 템플릿을 선택하세요. 감사합니다!
This project was born from solving real-world types problem with @hardfist and @MeCKodo. And great thanks to @sinoon who contributed a lot while giving early feedback on this project.
MIT