审核this method,我只是好奇它为什么使用Object.keys(this).map(key => (this as any)[key])
?
只需拨打Object.keys(this).indexOf(type) !== -1
:
/**
* Checks if validation type is valid.
*/
static isValid(type: string) {
return type !== "isValid" &&
type !== "getMessage" &&
Object.keys(this).map(key => (this as any)[key]).indexOf(type) !== -1;
}
答案 0 :(得分:4)
该行不会创建对象键的数组,它会创建对象的值数组,并检查数组中是否包含type
。如果它是
/**
* Checks if validation type is valid.
*/
static isValid(type: string) {
return type !== "isValid" &&
type !== "getMessage" &&
Object.values(this).includes(type);
}
(当然,必要时包括polyfills)