Why would someone do this
function() { return(abc || abc || "") }
isn’t it’s enough to do just return(abc || "")?
>Solution :
You’re right, in any remotely serious code, doing just return abc || "" would be enough.
The only situation in which return(abc || abc || "") could possibly result in different logic would be if you were inside a with, or if abc was a getter on the window – and these would only occur if someone was deliberately writing confusing code.
let count = 0;
Object.defineProperty(window, 'abc', { get: () => count++ });
const result = abc || "";
console.log(result);
let count = 0;
Object.defineProperty(window, 'abc', { get: () => count++ });
const result = abc || abc || "";
console.log(result);