![](/img/trans.png)
[英]Typescript conflict type enum number and number in NestJS/ExpressJS
[英]Typescript number or numeric enum type?
我正在尝试像这样创建 function:
function test_func(arg1: number: NumericEnum) {
return number / 2 + 5;
}
其中 arg1 可以是数值或定义为 integer 的枚举值,如下所示:
enum Num {
x = 1;
y = 2;
}
这样 function 可以是test_func(1)
或test_func(Num.x)
有没有办法为arg1的类型定义定义这样的类型?
像Num
这样的数字枚举的值已经是number
,所以你不需要做任何特别的事情来包含它们。 我们可以说我们的 function 取任意number
。 Num.x
只是解析为数字文字1
的属性访问器,因此可以使用 Num.x 调用此Num.x
。
function test_func(arg1: number) {
return arg1 / 2 + 5;
}
enum Num {
x = 1,
y = 2,
}
test_func(1)
test_func(Num.x)
一些变化:
,
而不是分号;
test_func
中的变量是arg1
而不是number
。 number
是类型。您必须以这种方式编写枚举。
enum NumericEnum {
x = 1,
y = 2
}
现在,下面的 function 可以接收数字或枚举作为参数。
test_func(arg1: number | NumericEnum) {
return arg1 / 2 + 5;
}
检查我在stackblitz的实现。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.