TypeScript의 공용체 유형에서 특정 값을 제거하거나 제외하여 새 유형을 쉽게 만드는 방법은 무엇입니까?

4024 단어 typescript
Originally posted here!

TypeScript의 공용체 유형에서 특정 값을 제거하거나 제외하여 새 유형을 쉽게 만들려면 Exclude 유틸리티 유형을 사용하고 첫 번째 유형 인수로 값을 제거하는 공용체 유형을 전달하고 조합 유형을 구성해야 합니다. 제거할 값 또는 두 번째 유형 인수로 단일 값만 있는 경우 문자열입니다.

TL; DR




// a simple union type
type AcceptedValues = "Hello" | "Hi" | 43 | true;

// make a new type by removing the values of `43`
// and `true` using the `Exclude` utility type
type RefinedTypes = Exclude<AcceptedValues, 43 | true>; // "Hello" | "Hi"


예를 들어 AcceptedValues , Hello , Hi 와 같은 값으로 구성된 43 라는 공용체 유형이 있고 다음과 같이 true 가 있다고 가정해 보겠습니다.

// a simple union type
type AcceptedValues = "Hello" | "Hi" | 43 | true;


이제 43true 값을 제거하여 새 유형을 만들기 위해 Exclude 유틸리티 유형을 사용하고 AcceptedValues 유형을 첫 번째 유형 인수로 전달하고 43로 구성된 공용체 유형을 전달할 수 있습니다. 및 true를 두 번째 인수 유형으로 지정합니다.

다음과 같이 할 수 있습니다.

// a simple union type
type AcceptedValues = "Hello" | "Hi" | 43 | true;

// make a new type by removing the values of `43`
// and `true` using the `Exclude` utility type
type RefinedTypes = Exclude<AcceptedValues, 43 | true>; // "Hello" | "Hi"


이제 편집기에서 RefinedTypes 유형 위로 마우스를 가져가거나 유형의 내용을 살펴보면 43true 값이 제외되고 HelloHi 값만 표시되는 것을 볼 수 있습니다. 그것에.

TypeScript의 공용체 유형에서 특정 값을 제외하여 새로운 유형을 성공적으로 만들었습니다. 예이 🥳!

codesandbox에 있는 위의 코드를 참조하십시오.

그게 다야 😃!

이 정보가 유용하다고 생각되면 자유롭게 공유하세요 😃.

좋은 웹페이지 즐겨찾기