전체 글
[type-challenges] POP
0. 문제 배열 T를 사용해 마지막 요소를 제외한 배열을 반환하는 제네릭 Pop를 구현합니다. 1. 설명 /* _____________ 여기에 코드 입력 _____________ */ type Pop = T extends [ ...infer P, any] ? P : [] type temp = Pop /* _____________ 테스트 케이스 _____________ */ import type { Equal, Expect } from '@type-challenges/utils' type cases = [ Expect, Expect, Expect, ] 배열 T를 전개 연산으로 앞부분 전부(...infer P), 뒤 하나(any)로 나눈다 앞부분 전부 ==(infer) P 이기 때문에 앞부분만 출력하기 위해..
Stackticon: Readme 작성시 기술스택 추가 꿀팁(진짜꿀팁..진짜루..)
🚀 Stackticon으로 기술스택 간편하게 추가하기! 저는 Readme 작성하는게 너무너무 귀찮았어요. 무엇보다 기술스택을 작성하는 부분이 가장 귀찮더라구요. 그래서 가져왔습니다. 정말 쉽고 진짜 간단하게 기술스택을 img 형태로 만들어서 가져다주는 갓. 서비스를요 개발자라면 꼭한번써봐야할 서비스중하나! stackticon 소개합니다 🐶💕 말투가 네이버 블로그같죠? 마지막에 '**에서 협찬받았지만 직접 사용해보고 작성한 후기입니다' 적혀있을것같죠? 절대아닙니다 절대아니에요. 말투는 네이버 블로그를 쓰다 와서 그래요. 먼저 이해를 구하고 들어가겠습니다 💦💦 🖐 사용 방법 자신이 사용한 기술 스택을 검색한 후 create 버튼을 눌러요 만들고싶은 이미지 색상을 선택한 후 상황에 따라 원하는 저장방식을 선택..
[type-challenges] Last of Array
0. 문제 배열 T를 사용하고 마지막 요소를 반환하는 제네릭 Last를 구현합니다. 1. 설명 /* _____________ 여기에 코드 입력 _____________ */ type Last = [any, ...T][T['length']] type tt = Last /* _____________ 테스트 케이스 _____________ */ import type { Equal, Expect } from '@type-challenges/utils' type cases = [ Expect, Expect, Expect>, ] T['length'] => 배열 T의 길이를 구하기 길이는 하나가 더 구해지니까 앞에 any 넣기
[type-challenges] Tuple to Union
0. 문제 튜플 값으로 유니온 타입을 생성하는 제네릭 TupleToUnion를 구현하세요. 1. 설명 /* _____________ 여기에 코드 입력 _____________ */ type TupleToUnion = T[number] /* _____________ 테스트 케이스 _____________ */ import type { Equal, Expect } from '@type-challenges/utils' type cases = [ Expect, Expect, ] 배열을 돌면서 유니온 타입 생성
[type-challenges] Deep Readonly
0. 문제 객체의 프로퍼티와 모든 하위 객체를 재귀적으로 읽기 전용으로 설정하는 제네릭 DeepReadonly를 구현하세요. 이 챌린지에서는 타입 파라미터 T를 객체 타입으로 제한하고 있습니다. 객체뿐만 아니라 배열, 함수, 클래스 등 가능한 다양한 형태의 타입 파라미터를 사용하도록 도전해 보세요. 1. 설명 /* _____________ 여기에 코드 입력 _____________ */ type DeepReadonly = {readonly [P in keyof T]: keyof T[P] extends never ? T[P] : DeepReadonly} type temp = DeepReadonly type t2 = DeepReadonly /* _____________ 테스트 케이스 _____________..
[type-challenges] Parameters
0. 문제 내장 제네릭 Parameters를 사용하지 않고 구현하세요 1. 설명 /* _____________ Your Code Here _____________ */ type MyParameters any> = T extends (...any: infer A)=> any ? A : A type A = MyParameters /* _____________ Test Cases _____________ */ import type { Equal, Expect } from '@type-challenges/utils' const foo = (arg1: string, arg2: number): void => {} const bar = (arg1: boolean, arg2: { a: 'A' }): void => {}..
[type-challenges] Unshift
0. 문제 Array.unshift의 타입 버전을 구현하세요 1. 설명 /* _____________ Your Code Here _____________ */ type Unshift = [U,...T] /* _____________ Test Cases _____________ */ import type { Equal, Expect } from '@type-challenges/utils' type cases = [ Expect, Expect, Expect, ] [type-challenges] push와 비슷하다 unshift시킬 U를 앞에 두고 arr type을 개행으로 풀어준다
[type-challenges] Push
0. 문제 Array.push의 제네릭 버전을 구현하세요 1. 설명 /* _____________ Your Code Here _____________ */ type Push = [...T,U] /* _____________ Test Cases _____________ */ import type { Equal, Expect } from '@type-challenges/utils' type cases = [ Expect, Expect, Expect, ] T를 개행으로 풀어 넣어주고 뒤에 U를 이어넣으면 된다