是否可以预定义函数参数的可用值?

时间:2017-07-06 13:33:10

标签: node.js typescript

我想设置一个函数参数的可用值,如下所示:

let valueList = [
   'val1',
   'val2',
   'val3',
];

let getSomething = (parameter: valueList) => {
    // do something
}

我希望在控制台上获得错误,如果参数值不是valueList变量中的值。

如果IDE在我调用函数时显示可能的值,那将会很好:

getSomething(| <- cursor ) // when cursor here, the IDE show the possible values from valueList

2 个答案:

答案 0 :(得分:1)

您可以按照其他答案中的说明定义枚举,或者如果您希望参数为字符串,则可以使用字符串文字类型与联合类型组合:

type valueList = 'val1' | 'val2' | 'val3';


let getSomething = (parameter: valueList) => {
    // do something
}

getSomething("val1") // OK
getSomething("val1-wrong") // Error

答案 1 :(得分:0)

使用enum

enum ValueList {
   val1,
   val2,
   val3
}