분류 전체보기

👶 TypeScript

조건부 타입 - 내장 조건부 타입들

내장 조건부 타입들 조건부 타입을 이용하면 정말 강력한 연산자 몇 가지를 타입 수준에서 표현할 수 있습니다. TypeScript가 전역에서 바로 사용할 수 있는 여러 조건부 타입을 제공하는 이유도 바로 이 때문입니다. Exclude Without 타입처럼 T에 속하지만 U에는 없는 타입을 구합니다. type A = number | string type B = string type C = Exclude // type C = number Extract T의 타입 중 U에 할당할 수 있는 타입을 구합니다. type A = number | string type B = string type C = Extract // type C = string NonNullable T에서 null과 undefined를 제외한 버..

👶 TypeScript

조건부 타입 - infer 키워드

infer 키워드 조건부 타입의 마지막 특성으로 조건의 일부를 제네릭 타입으로 선언할 수 있는 기능을 꼽을 수 있습니다. 참고로 지금까진 제네릭 타입 매개변수를 선언하는 방법으로 꺾쇠괄호()를 이용하는 방법 한 가지만 배웠습니다. 조건부 타입에선 제네릭 타입을 인라인으로 선언하는 전용 문법을 제공합니다. 바로 infer 키워드입니다. 배열의 요소 타입을 얻는 ElementType이라는 조건부 타입을 정의해 봅시다. type ElementType = T extends unknown[] ? T[number] : T type A = ElementType // type A = number infer를 이용하면 이 코드를 다음처럼 다시 구현할 수 있습니다. type ElementType2 = T extends (..

👶 TypeScript

조건부 타입 - 분배적 조건부

분배적 조건부 TypeScript에선 지금까지 살펴본 예에서처럼 간단한 조건을 다양한 방식으로 표현할 수 있습니다. 이는 분배 법칙(distributive law)을 따르기 때문입니다. 즉 왼쪽의 표현식은 오른쪽의 표현식과 동일합니다. 아래의 표현식은 다음과 같습니다. string extends T ? A : B string extends T ? A : B (string | number) extends T ? A : B (string extends T ? A : B) | (number extends T ? A : B) (string | number | boolean) extends T ? A : B (string extends T ? A : B) | (number extends T ? A : B) | (..

👶 TypeScript

조건부 타입

조건부 타입 조건부 타입은 TypeScript가 제공하는 기능 중에서도 가장 독특하다고 할 수 있습니다. 조건부 타입의 의미를 말로 풀어보자면 "U와 V 타입에 의존하는 T 타입을 선언하라. U

개발자 린다씨
'분류 전체보기' 카테고리의 글 목록 (14 Page)