Javascript Type Coercion:
// Type Coercion Examples in JavaScript
// == comparisons
[] == [] // false
[] == ![] // true
true == [] // false
true == ![] // false
false == [] // true
false == ![] // true
// == with numbers
[] == 0 // true
"" == 0 // true
"0" == 0 // true
"0" == false // true
NaN == NaN // false
Number.MIN_VALUE > 0 // true
// Logical coercion
!null // true
null == false // false
0 == false // true
"" == false // true
[] < 3 // true
3 > 2 > 1 // false
// == comparisons with null/undefined
[] == ![] // true
[] == 0 // true
[null] == 0 // true
[undefined] == 0 // true
undefined == 0 // false