这取自line 107 here。我认为这意味着:
此函数返回一个字符串或函数,它将
ValidationArguments
作为参数,然后返回一个字符串。
但这是我第一次见到这样的东西,所以只是想确保我正确地阅读它?
static getMessage(type: string, isEach: boolean): string|((args: ValidationArguments) => string) {
答案 0 :(得分:1)
是的,你正在读它,它被称为union type。联合类型允许创建可以是联合中任一类型的类型。您可以使用类型保护来缩小联合中的类型:
let f : string|((args: ValidationArguments) => string);
if(typeof f === 'string') {
f // is string
}else{
f(null) // f is a function
}