Typescript 扩展枚举的类型脚本

Typescript 扩展枚举的类型脚本,typescript,Typescript,在这种情况下,您有一个常量列表或枚举,您可以如何操作 以下是伪示例代码: enum MyList { A, B } enum MyList2 { C } function test<T>(input:MyList | T):void { } test<MyList2>(123) // compiler does not identify that 123 is not a supported enum MyList { A. B } 枚

在这种情况下,您有一个常量列表或枚举,您可以如何操作

以下是伪示例代码:

enum MyList
{
    A,
    B
}

enum MyList2
{
    C
}


function test<T>(input:MyList | T):void
{

}

test<MyList2>(123) // compiler does not identify that 123 is not a supported
enum MyList
{
A.
B
}
枚举MyList2
{
C
}
功能测试(输入:MyList | T):无效
{
}
test(123)//编译器未标识123不是受支持的
这是一个带有数字枚举的示例。无论出于何种原因(某些向后兼容性无法破坏),一个
数字
被视为可分配给数字枚举,因此您可以毫无错误地执行此操作:

enum E{
V=100
}
常数num=100;
常数e:e=num;//无错误这是一个带有数字枚举的示例。无论出于何种原因(某些向后兼容性无法破坏),一个
数字
被视为可分配给数字枚举,因此您可以毫无错误地执行此操作:

enum E{
V=100
}
常数num=100;

常数e:e=num;//无错误问题实际上是.@T.J.Crowder Hi,我们假设您希望允许test(…)也接受其他可能的值,并且如果没有指定其他值,则接受带有数字枚举的MyList.A。更不用说它们了,所以本质上任何
数字都可以分配给任何数字枚举,反之亦然。@Hivaga-我的观点是,虽然枚举并集有问题,但这只是因为…枚举有问题。问题实际上是.@T.J.Crowder嗨,想象一下你想允许测试(…)也可以接受其他可能的值,如果没有指定其他值,则接受带有数字枚举的MyList.A。更不用说它们了,所以本质上任何
数字
都可以分配给任何数字枚举,反之亦然。@Hivaga-我的观点是,虽然枚举并集有问题,那只是因为…这是枚举的问题。难以置信:)你如何知道所有这些细节。建议的解决方案很好。难以置信:)你如何知道所有这些细节。建议的解决方案很好。