For me it's inconsistent implementation of == and === operators. However for best results it's recommended to always stick to === operator. Because of so many inconsistencies and bad implementations you can find several books on JavaScript best practices which I don't see in any other language.