[英]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.