我有一个变量,比如gender
。我在开头声明了它,然后在后面的代码中赋值。我想把gender
的值限制为male
或female
。除此之外的任何值都不应该被接受(抛出错误)。在typescript中有办法做到这一点吗?
let gender: string;
// some logic here
gender = someFunction(); //Restrict this to only accept 'male' and 'female' as valid values.
4条答案
按热度按时间htzpubme1#
zzlelutf2#
使用枚举
你能做的就是定义一个enum,并让你的函数的返回类型就是这个枚举,同样的,你的gender变量也可以是
Gender
,而不是string
。使用联合类型
正如其他人在他们的答案中提到的,你也可以使用联合类型。函数也需要返回相同的联合类型。
sgtfey8w3#
在变量或常量声明中,您可以定义它可以具有的字符串,例如
您可以对typescript接口执行相同的操作
yshpjwxd4#
对于类型脚本,我发现使用“export type ...”很方便。这是许多库中常见的方法。示例代码如下:
稍后,您可以在函数中使用它,例如: