Pourquoi 0 == "" true en JavaScript

Pourquoi 0 == "" vrai dans JavaScript? J'ai trouvé une publication similaire ici , mais pourquoi un nombre 0 est-il similaire à une chaîne vide? Bien sûr, 0 === "" est faux.

 0 == '' 

L'opérande gauche est du type numéro.
Le bon opérande est du type String.

Dans ce cas, l'opérande droit est contraint au numéro de type:

 0 == Number('') 

Ce qui entraîne

 0 == 0 

À partir de l' Algorithme de comparaison abstraite de l'égalité (numéro 4):

Si Type (x) est Nombre et Type (y) est Chaîne, renvoyez le résultat de la comparaison x == ToNumer (y).

Source: http://es5.github.com/#x11.9.3