30秒学会 JavaScript 片段 · 2018年11月9日

30秒学会 JavaScript 片段 – either

Returns true if at least one function returns true for a given set of arguments, false otherwise.

Use the logical or (||) operator on the result of calling the two functions with the supplied args.

代码片段

const either = (f, g) => (...args) => f(...args) || g(...args);

使用样例

const isEven = num => num % 2 === 0;
const isPositive = num => num > 0;
const isPositiveOrEven = either(isPositive, isEven);
isPositiveOrEven(4); // true
isPositiveOrEven(3); // true