
¿Sabías que en #javascript esta comparación da como resultado true?
[] == ![]; // -> true
Los arrays se castean a true y por tanto !true se castea al número 0. En la parte izquierda array vacío se castea a 0 también. Por tanto javascript lo evalúa como:
0 == 0;
Con el triple igual (===) la comparación da como resultado false, por eso siempre es importante ponerlo.