💪

Type<Challenge[]>

Date
2021/12/18
Tags
TypeScript
Type System
JavaScript
Created by
스포일러 주의!
Type Challenges (https://tsch.js.org/) 문제와 답. 틀린 답이 있으면 댓글이나 이메일로 알려주시면 감사하겠습니다.
Table of Contents

Easy

4 — Pick

T에서 K 프로퍼티만 선택해 새로운 오브젝트 타입을 만드는 내장 제네릭 Pick<T, K>을 이를 사용하지 않고 구현하세요.
해답 및 코멘트 보기

7 — Readonly

T의 모든 프로퍼티를 읽기 전용(재할당 불가)으로 바꾸는 내장 제네릭 Readonly<T>를 이를 사용하지 않고 구현하세요.
해답 및 코멘트 보기

11 — Tuple to Object

배열(튜플)을 받아, 각 요소를 key/value로 갖는 오브젝트 타입을 반환하는 타입을 구현하세요.
해답 및 코멘트 보기

14 — First of Array

배열(튜플) T를 받아 첫 원소의 타입을 반환하는 제네릭 First<T>를 구현하세요.
해답 및 코멘트 보기

18 — Length of Tuple

배열(튜플)을 받아 길이를 반환하는 제네릭 Length<T>를 구현하세요.
해답 및 코멘트 보기

43 — Exclude

T에서 U에 할당할 수 있는 타입을 제외하는 내장 제네릭 Exclude<T, U>를 이를 사용하지 않고 구현하세요.
해답 및 코멘트 보기

189 — Awaited

Promise와 같은 타입에 감싸인 타입이 있을 때, 안에 감싸인 타입이 무엇인지 어떻게 알 수 있을까요? 예를 들어 Promise<ExampleType>이 있을 때, ExampleType을 어떻게 얻을 수 있을까요?
해답 및 코멘트 보기

268 — If

조건 C, 참일 때 반환하는 타입 T, 거짓일 때 반환하는 타입 F를 받는 타입 If를 구현하세요. Ctrue 또는 false이고, TF는 아무 타입입니다.
해답 및 코멘트 보기

533 — Concat

JavaScript의 Array.concat 함수를 타입 시스템에서 구현하세요. 타입은 두 인수를 받고, 인수를 왼쪽부터 concat한 새로운 배열을 반환해야 합니다.
해답 및 코멘트 보기

898 — Includes

JavaScript의 Array.includes 함수를 타입 시스템에서 구현하세요. 타입은 두 인수를 받고, true 또는 false를 반환해야 합니다.
해답 및 코멘트 보기

3057 — Push

Array.push의 제네릭 버전을 구현하세요.
해답 및 코멘트 보기

3060 — Unshift

Array.unshift의 타입 버전을 구현하세요.
해답 및 코멘트 보기

3312 — Parameters

내장 제네릭 Parameters<T>를 이를 사용하지 않고 구현하세요.
해답 및 코멘트 보기

Medium

2 — Get Return Type

내장 제네릭 ReturnType<T>을 이를 사용하지 않고 구현하세요.
해답 및 코멘트 보기

3 — Omit

T에서 K 프로퍼티만 제거해 새로운 오브젝트 타입을 만드는 내장 제네릭 Omit<T, K>를 이를 사용하지 않고 구현하세요.
해답 및 코멘트 보기

8 — Readonly 2

T에서 K 프로퍼티만 읽기 전용으로 설정해 새로운 오브젝트 타입을 만드는 제네릭 MyReadonly2<T, K>를 구현하세요. K가 주어지지 않으면 단순히 Readonly<T>처럼 모든 프로퍼티를 읽기 전용으로 설정해야 합니다.
해답 및 코멘트 보기