我的程序中有一个检查许多条件的地方。
与编写大型if(conditionOne || conditionTwo || ...)
类型的表达式相反,我决定定义一个过滤器数组,如下所示:
const filters: Array<(err: MyError) => boolean> = [
(e: MyError) => e.checkSomething(),
(e: MyError) => e.checkSomethingElse,
(e: MyError) => e.checkSomethingYetAgain()
];
然后我像这样遍历它:
for (const key in filters) {
if (filters[key](err)) {
return true;
}
}
return false;
我觉得有一种更实用的方式来表达这一点(从现在开始,我认为这看起来势在必行),但是我不确定它的外观。 谢谢!