return find(start + 5, "(" + history + " + 5)") || find(start * 3, "(" + history + " * 3)");
В этой строке сначала вычисляется первая часть,
find(start + 5, "(" + history + " + 5)")
.
Если полученный результат приводится к true (то есть, в данном случае не null), то возвращается значение первой части.
Если полученный результат приводится к false (то есть, вернулся null), то вычисляется вторая часть
find(start * 3, "(" + history + " * 3)")
и возвращается её значение.
Чтобы было понятнее, лучше записать в виде:
const result = find(start + 5, "(" + history + " + 5)")
if (result !== null) {
return result
}
return find(start * 3, "(" + history + " * 3)")