04.Pick 문제 보기04.Pick 문제는 내장 유틸리티 타입인 Pick<T, K>를 직접 구현하는 문제이다.T에 있는 프로퍼티 중 K에 속하는 프로퍼티를 선택하는 타입을 만드는 것을 목적으로 한다.예시Utility Type : 이미 정의해 놓은 타입을 변환할
07.Readonly 문제 보기내장 타입인 Readonly<T> 제네릭을 직접 구현하는 문제.T의 모든 프로퍼티가 readonly로 설정된 타입을 만들 것 (생성된 타입의 프로퍼티들이 재할당될 수 없음을 의미)본 문제 풀이를 위해 적용되는 개념 :Mapped Ty
11.Tuple to Object 문제 보기배열(튜플)을 받아, 각 요소를 key/value로 갖는 오브젝트 타입을 반환하는 타입을 구현하는 문제.예시)Indexed Type : 타입을 동적으로 사용할 때 사용하는 방법다른 유형의 특정 속성 조회가 가능함union ty
배열(튜플) T를 받아 첫 원소를 반환하는 제네릭 First<T>를 구현하세요.예시)목적 : 배열의 첫번째 원소를 반환인덱스 접근을 통해 인자로 받은 배열(튜플) T\[0]으로 해결 시도배열의 empty 여부 확인 필요if) 빈 배열 ⭕️ : 반환할 배열 값이 없
배열(튜플)을 받아 길이를 반환하는 제네릭 Length<T>를 구현하세요.예시)목표 :배열의 길이에 접근입력된 타입 변수로 모든 유형의 배열(튜플)이 올 수 있도록 처리length 프로퍼티로 배열 길이 접근결과 : 테스트 예제는 정상적으로 length 값을 리턴개
43\. Exclude내장 제네릭 Exclude<T, U>를 구현하세요.T에서 U에 할당할 수 있는 타입을 제외하는 내장 제네릭예시)목표 : 타입 U에 포함되어 있지 않은 타입 T의 요소 반환분산 조건부 타입 : 검사된 타입이 벗겨진(naked) 타입 매개변수인
189\. Awaited만약 Promise 등을 통해 래핑된 타입이 있다면, 그 안에 있는 타입을 어떻게 얻을수 있을까요? 예를 들어 Promise과 같은 타입이 있다면 ExampleType을 어떻게 얻을 수 있을까요?예시)목적 : 래핑(wrapping)된 타입의 안에
268\. If조건 C를 받아서 참일 경우에는 T를 반환하고 거짓일 경우에는 F를 반환하는 유틸리티 타입 If를 구현해보세요. C는 true 또는 false일 것이 기대되고, T와 F는 어떤 타입이든 괜찮습니다.예시)요구 사항조건 C는 true or false조건C가
533\. Concat타입 시스템 내에서 자바스크립트의 Array.concat 함수를 구현해보세요. 타입은 두 개의 인자를 받습니다. 결과값은 입력값이 순서대로 포함된 새로운 배열이어야 합니다.예시)요구사항 및 구현 계획두 인자의 타입은 정해져있지 않음두 입력값이 순서
898\. IncludesJavascript의 Array.includes 함수를 타입 시스템 내에서 구현해보세요.타입은 두 개의 인자를 받습니다.반환되는 값은 true 또는 false이어야 합니다. 예시)요구사항 및 구현 계획 인자 : 튜플 T와 포함 여부를
3057\. PushArray.push를 타입 시스템 내에서 구현해보세요. 예시)타입의 인자 : 튜플 T 와 push할 인자 U튜플 T 에 인자 U push타입의 인자 : 튜플 T 와 push할 인자 U튜플 T : 모든 테스트 케이스를 통과하기 위해 제네릭에 제한
3060.UnshiftArray.unshift()를 타입 형태로 구현해보세요.예시)T 와 U 인자 받기반환하는 배열에 U 를 첫 원소로 추가한 뒤, 스프레드 연산자로 튜플 T 를 뿌려줌
08\. Readonly2 문제 보기두 인자 T와 K를 받는 제네릭 MyReadonly2<T, K>를 구현해보세요.K는 T의 프로퍼티들 중 readonly로 변경되어야 하는 목록을 나타냅니다. K가 주어지지 않았다면, 기존의 Readonly<T> 제네릭처럼
09.Deep Readonly 문제 보기DeepReadonly<T> 제네릭을 구현해보세요.오브젝트의 모든 속성과 하위의 오브젝트 들은 재귀적인 방식을 통해 readonly로 설정됩니다.이 챌린지에서는 오브젝트만을 다루는 것으로 가정합니다.배열이나 함수, 클래스 등
내장 타입인 Omit<T, K> 제네릭을 직접 구현해보세요. T에 속한 모든 프로퍼티 중 에서 K에 해당하는 프로퍼티를 지우는 타입을 만들어야 합니다. 오브젝트의 각 프로퍼티를 순회하며 새로운 오브젝트를 만들기 as를 통해 필요하지 않은 키에 대한 필터
유틸리티 타입 ReturnType<T> 을 사용하지 않고 직접 구현해보세요.MyReturnType<T> 의 T 는 함수의 형태로 들어와야 함인자로 들어온 함수 T 의 반환값을 리턴해야 함MyReturnType<T> 의 T 는 함수의 형태로 들어와야 함T
3312.Parameters예시)인자로 들어올 T 를 함수의 타입으로 제한T 의 파라미터의 타입을 반환인자로 들어올 T 를 함수의 타입으로 제한함수의 타입으로 T 를 제한하기 위해 <T extends (...args: any\[]) => any>인자의 타입을 가져
메서드 체이닝은 자바스크립트에서 흔하게 사용됩니다. 타입스크립트에서 체이닝을 적절하게 타입으로 정의해 줄 수 있을까요?이번 챌린지에서는 클래스나 객체 중 선호하는 방식을 통해 option(key, value)와 get() 메서드를 제공하는 타입을 만들어야 합니다. op
PromiseLIke객체 배열을 받는 함수 PromiseAll을 만드세요.반환되는 값은 Promise<T>이고 T는 성공된 결과가 담긴 배열입니다.예시본 문제에 대한 고려 사항을 다음과 같이 정리해보았습니다.PromiseAll 의 반환 값은 Promise<T
116\. Replace문자열 S에서 From를 찾아 한 번만 To로 교체하는 Replace<S, From, To>를 구현하세요. 예시From을 찾아서 최초 1회만 To로 교체 From을 찾아서 최초 1회만 To로 교체Replace 타입을 문자열로 제한하기
298.Length of String\`StringT\['length'] 사용을 통해 문자열의 길이를 계산해 리턴T\['length'] 사용을 통해 문자열의 길이를 계산해 리턴위와 같이 단순히 문자열의 length 값을 가져오려고 하니 제약조건을 만족하지 않는다는 오류
입력 타입 T를 사용하는 IsNever 타입을 구현합니다. 타입이 확인되지 않으면 true를 반환하고, 그렇지 않으면 false를 반환합니다.예시T 에 입력되는 값이 never 인지 확인never일 경우 true 리턴never가 아닐 경우 false 리턴T 에 입력되는