Triple-igual es diferente a doble igual porque además de comprobar si las dos partes son el mismo valor, de triple igual también comprueba que son el mismo tipo de datos.
Entonces ("4" == 4)
es verdadero, mientras que ("4" === 4)
es falso.
Triple-equal también se ejecuta un poco más rápido, porque JavaScript no tiene que perder tiempo haciendo conversiones de tipo antes de darle la respuesta.
JSLint tiene el objetivo deliberado de hacer que su código JavaScript sea lo más estricto posible, con el objetivo de reducir errores desconocidos. Destaca este tipo de cosas para tratar de que codifiques de una manera que te obligue a respetar los tipos de datos.
Pero lo bueno de JSLint es que es solo una guía. Como dicen en el sitio, dañará tus sentimientos, incluso si eres un programador de JavaScript muy bueno. Pero no deberías sentirte obligado a seguir su consejo. Si ha leído lo que tiene que decir y lo comprende, pero está seguro de que su código no se va a romper, no hay obligación de que cambie nada.
Incluso puede decirle a JSLint que ignore las categorías de cheques si no desea ser bombardeado con advertencias de que no va a hacer nada al respecto.
me encontré con esto también con JSLint. Hice una actualización de == a === y realmente rompió el código que funcionaba anteriormente. – kemiller2002
Si su código tiene más de 100 líneas, no pasará jslint, realmente, es imposible. –
"Rompió" es una palabra demasiado fuerte. Cambió el significado de tu código. Si estaba haciendo una comprobación 'myVar == null', sí, grandes cambios. ; ^) El argumento de Crockford es que hizo que el significado del código sea más preciso, y eso es difícil de discutir. – ruffin