Jshint: Agregue la opción para suprimir el error "Use '===' para comparar con '0'"

Creado en 15 nov. 2013  ·  7Comentarios  ·  Fuente: jshint/jshint

Usar == para comparar con cero simplemente no es un error ni es peligroso cuando se compara un valor que se garantiza que es un Número. Por ejemplo:

var arr = ["foo"];
var arrIsEmpty = (arr.length == 0);

Tiendo a usar == en estas situaciones y es una decisión puramente estilística. Me gustaría que JSHint respetara mis deseos bien informados.

Comentario más útil

Para otros que pueden tener dificultades para hacer uso de la respuesta de valueof, establecer "-W041": false parece ser la solución.

Todos 7 comentarios

Conoce la opción eqeqeq , ¿verdad? De ahí es de donde proviene este error, establecerlo en falso lo liberará de este caso. ¿O está buscando algo más específico, como solo suprimir las comparaciones con 0 (y no las comparaciones con otros valores)?

eqeqeq es el caso general. Parece haber una verificación separada para comparar con 0 que se queja incluso si eqeqeq es falso.

Lo que realmente quiero es poder suprimir todas las formas de quejas de JSHint sobre el uso de == y! =, Pero es la comparación con 0 lo que lo impide.

Hmm ya veo. El código relacionado está aquí, definitivamente está llamando específicamente a esa comparación (entre otros):

https://github.com/jshint/jshint/blob/6140ade7437799e182347bf2d39ec68c3c3d0263/src/jshint.js#L2201 -L2215
https://github.com/jshint/jshint/blob/6140ade7437799e182347bf2d39ec68c3c3d0263/src/jshint.js#L1338 -L1346

Puede desactivar esta advertencia por su código.

Para otros que pueden tener dificultades para hacer uso de la respuesta de valueof, establecer "-W041": false parece ser la solución.

Gracias @privman

Para su información, también encontré más detalles aquí.

¿Existe una motivación para mantener las advertencias W041 vigentes cuando "eqeqeq": false ?

Prohíben efectivamente el uso de == y != en situaciones afectadas.

¿Fue útil esta página
0 / 5 - 0 calificaciones