We all love NaN!
> NaN === NaN
falseArray additions and subtractions!
> [] + []
""> [] - []
0Array + Object * headaches!
> [] + {}
"[object Object]"> {} + {}
NaNUndefined and null
> undefined == null
trueFloating point imprecision
> 0.1 + 0.7
0.7999999999999999Weak typing + implicit conversions * headaches! Because we all love consistency.
> "5" - 3
2> "5" + 3
"53"String - String * Integer. WAT?
> "5" + + "5"
"55"Marvelous!
> "foo" + + "foo"
"fooNaN"> "5" + - "2"
"5-2"Apparently it's ok?
> "5" + - + - - + - - + + - + - + - + - - - "-2"
"52"Because fuck math!
> var x = 3;
> '5' + x - x
50