例如我输入了:
type Fruits = 'apple' | 'lemon' | 'orange';
我有一些这样的功能:
const validateFruit = (value): boolean => {
/// return true if value has type Fruits
}
有没有解决方案来创建这个功能?
答案 0 :(得分:1)
如果您使用字符串枚举,则可以更轻松地实现此目的:
enum Fruits { apple = 'apple', lemon = 'lemon', orange = 'orange' };
const validateFruit = (value): value is Fruits => Fruits[value] !== undefined;
答案 1 :(得分:-1)
您是否尝试过type-guards?
如下所示:
type Fruits = 'apple' | 'lemon' | 'orange';
function isFruits(value: Fruits | any): value is Fruits {
return ['apple', 'lemon', 'orange'].indexOf(value) > -1;
}
console.log(isFruits('dd'));