x = y || z; //x is y unless y is null, undefined, "", '', or 0.
0 falsey ,
x = ( ( y === 0 || y ) ? y : z ); //x is y unless y is null, undefined, "", '', or 0.
, false falsey,
x = ((y === 0 || y === false || y) ? y : z);
DEMO
var testCases = [
[0, 2],
[false, 2],
[null, 2],
[undefined, 2],
["", 2],
['', 2],
]
for (var counter = 0; counter < testCases.length - 1; counter++) {
var y = testCases[counter][0],
z = testCases[counter][1],
x = ((y === 0 || y === false || y) ? y : z);
console.log("when y = " + y + " \t and z = " + z + " \t then x is " + x);
}
Hide result