TypeScript의 공용체 유형에서 특정 값을 제거하거나 제외하여 새 유형을 쉽게 만드는 방법은 무엇입니까?
4024 단어 typescript
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;
이제
43
및 true
값을 제거하여 새 유형을 만들기 위해 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
유형 위로 마우스를 가져가거나 유형의 내용을 살펴보면 43
및 true
값이 제외되고 Hello
및 Hi
값만 표시되는 것을 볼 수 있습니다. 그것에.TypeScript의 공용체 유형에서 특정 값을 제외하여 새로운 유형을 성공적으로 만들었습니다. 예이 🥳!
codesandbox에 있는 위의 코드를 참조하십시오.
그게 다야 😃!
이 정보가 유용하다고 생각되면 자유롭게 공유하세요 😃.
Reference
이 문제에 관하여(TypeScript의 공용체 유형에서 특정 값을 제거하거나 제외하여 새 유형을 쉽게 만드는 방법은 무엇입니까?), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/melvin2016/how-to-easily-make-a-new-type-by-removing-or-excluding-certain-values-from-a-union-type-in-typescript-1f7n텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)