javascript - 打字稿数字或数字枚举类型?
问题描述
我正在尝试创建这样的函数:
function test_func(arg1: number: NumericEnum) {
return number / 2 + 5;
}
其中 arg1 可以是数值或定义为整数的枚举值,如下所示:
enum Num {
x = 1;
y = 2;
}
因此该功能可以是test_func(1)
或test_func(Num.x)
有没有办法为arg1的类型定义定义这样的类型?
解决方案
像这样的数字枚举的值Num
已经存在number
,因此您不需要做任何特别的事情来包含它们。我们可以说我们的函数接受 any 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
。number
是类型。
推荐阅读
- c - 递归列出txt文件内容并返回打开文件数的函数
- rust - 在回调中使用更高范围的变量
- python - 使用 Shareplum 下载、更改文件,然后将文件上传到 sharepoint
- reactjs - 在函数中访问 const 变量 - React
- r - 来自csv文件的r闪亮中的ggplot
- c# - C#通过字符串调用实例的非静态方法
- python - 如何从一条消息中获取图像/附件并使用 python 在 Slackbot 中以新消息的形式发送它们?
- c++ - 声明一个枚举类底层类型 bool 有什么好处?
- r - 有没有办法根据 R 上的相同字符获取不同文件的列表并将它们组合在一个单独的列表中?
- c++ - Qt Creator:找不到 Qt3DExtras 模块