var str = '1' || '2'
console.log(str) outputs 1 Okay... makes sense. The 1 is front of the '||', so it should never matter what comes after the '||'
var str = '1' || (true) ? '2' : '3'
console.log(str) outputs 2 ...WHAT?! This should never happen. The '1' was in front of the '||'
var str = '1' || (false) ? '2' : '3'
console.log(str) outputs 2 ...Okay JS go home you're obviously drunk.