var bar=true;
console.log(bar+0); //1
console.log(bar+"xyz"); //truexyz
console.log(bar+true); //2
console.log(bar+false); //1
console.log('1'>bar); //false
console.log(1+'2'+false); //12false
console.log('2' + ['koala',1]); //2['koala',1]
console.log([]==[]); // false
console.log(![] == []) //true
console.log([2]+3) //NaN
console.log('2'+{}) //2{}
console.log({}+""*5) //
var O = {
toString(){ return 'a' },
valueOf(){ return 1 }
}
console.log('2'+O) //2a
console.log(2+O) //3