||
работает, сначала оценивая find(current + 5, `(${history} + 5 )`)
и, если это истинно , это конечный результат. Если это falsy , он будет оценивать find(current * 3, `(${history} * 3)`)
, и независимо от того, что будет результатом, будет конечный результат, который затем возвращается.
Вы можете заменить return expra || exprb
кодом без ||
, используя if
и привязки:
// expra and exprb can be any valid expression
// same as return expra || exprb;
const tmp = expra;
if (tmp) {
return tmp;
}
return exprb;