I am trying to reduce cyclomatic complexity but this is a general query. if function b is not returning anything function a should continue to return 3
function a() {
return b();
return 3
}
function b() {
if (false)
return 2
}
alert(a())
More manually you could store the result of b() in a variable, check the variable, and conditionally return or continue. Though in this simplified version you could also just rely on the Nullish coalescing operator when returning.
For example:
function a() {
return b() ?? 3;
}
function b() {
if (false)
return 2
}
alert(a())
Essentially the expression resolves to either the result of b() or, if that result is null or undefined, resolves to 3. Then the result of that overall expression is returned.
That works with my test, "I used console.log not alert"
function a() {
let val = b()
return val == null ? 3 : val;
}
function b() {
if (false) return 2;
return null; // If anytings doesnt return that function we returns null
}
alert(a());
Performance test for nullish operator or standart one line if https://jsbench.me/ool12lcckh