DEV Community

Seyed Hamid Mirghafouri
Seyed Hamid Mirghafouri

Posted on

JavaScript || (Logical OR) vs ?? (Nullish Coalescing)

?? is falsy if the variable is null or undefined
|| is falsy if the variable is empty, zero, false, null or undefined

console.log(120 || "falsy") // 120
console.log(0  || "falsy") // "falsy"

console.log("truly" || "falsy") // "truly"
console.log(""     || "falsy") // "falsy"

console.log(true  || "falsy") // true
console.log(false || "falsy") // "falsy"

console.log(undefined || "falsy") // "falsy"
console.log(null      || "falsy") // "falsy"
Enter fullscreen mode Exit fullscreen mode
console.log(120 ?? "falsy") // 120
console.log(0  ?? "falsy") // 0

console.log("truly" ?? "falsy") // "truly"
console.log(""     ?? "falsy") // ""

console.log(true  ?? "falsy") // true
console.log(false ?? "falsy") // false

console.log(undefined ?? "falsy") // "falsy"
console.log(null      ?? "falsy") // "falsy"
Enter fullscreen mode Exit fullscreen mode

Top comments (0)