Typescript 排除内置类型在枚举情况下不起作用

问题描述 投票:0回答:1

我对以下代码中枚举的使用感到困惑:

enum IdEnum {
  A = "aa",
  B = "bb",
  C = "cc",
  D = "dd",
}
type IdValues = `${IdEnum}`; //  "aa" | "bb" | "cc" | "dd"
type IdWithoutA = Exclude<IdValues, IdEnum.A>; // "aa" | "bb" | "cc" | "dd", why?

如果我想排除 IdWithoutA 类型的“aa”,我必须使用类型 IdWithoutA = Exclude。我对这种行为感到困惑。为什么我无法在这里使用 IdEnum.A?有人可以帮忙吗?

typescript frontend
1个回答
0
投票

你可以这样做:

type IdWithoutA = Exclude<IdValues, `${IdEnum.A}`>;
© www.soinside.com 2019 - 2024. All rights reserved.