Javascript 类型脚本编号还是数字枚举类型?
我正在尝试创建一个如下函数:Javascript 类型脚本编号还是数字枚举类型?,javascript,typescript,typescript-typings,Javascript,Typescript,Typescript Typings,我正在尝试创建一个如下函数: function test_func(arg1: number: NumericEnum) { return number / 2 + 5; } enum Num { x = 1; y = 2; } 其中arg1可以是数字值,也可以是定义为如下整数的枚举值: function test_func(arg1: number: NumericEnum) { return number / 2 + 5; } enum Num {
function test_func(arg1: number: NumericEnum) {
return number / 2 + 5;
}
enum Num {
x = 1;
y = 2;
}
其中arg1可以是数字值,也可以是定义为如下整数的枚举值:
function test_func(arg1: number: NumericEnum) {
return number / 2 + 5;
}
enum Num {
x = 1;
y = 2;
}
因此函数可以是test\u func(1)
或test\u func(Num.x)
有没有办法为arg1的类型定义定义这样的类型?您必须以这种方式编写enum
enum NumericEnum {
x = 1,
y = 2
}
现在,下面的函数可以接收数字或枚举作为参数
test_func(arg1: number | NumericEnum) {
return arg1 / 2 + 5;
}
检查我的实现。像
Num
这样的数字枚举的值已经是number
,因此不需要做任何特殊的操作来包含它们。我们可以说,我们的函数接受任何数字
Num.x
只是一个属性访问器,解析为数值文本1
,因此可以使用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
test_func(arg1:number | Num)
function test_func(arg1:number){return arg1/2+5;}
枚举值已经是number
,这样就足够了: