web-dev-qa-db-fra.com

Supprimez "Expected '===' et voyez à la place '=='." erreur dans jslint

Comment puis-je arrêter le message d'erreur Expected '===' and instead saw '=='. d'apparaître dans jslint. Cela ne semble pas être une option.

31
usertest

Pour ceux qui utilisent JSHint, vous pouvez désactiver cet avertissement en définissant l'option eqeqeq sur false dans vos options JSHint (généralement .jshintrc )

"eqeqeq": false

De la documentation: http://jshint.com/docs/options/#eqeqeq

Éditer:

Si vous voulez être un bon citoyen et corriger votre code pour utiliser la comparaison recommandée au lieu de désactiver l'avertissement, assurez-vous que les deux côtés de la comparaison utilisent le même type.

Par exemple:

"123" == 123          // true, I'm lazy and JSHint hates me
"123" === 123         // false, no love
Number("123") === 123 // true, no warning
26
bubbassauro

C'est assez chaud hors de la presse.

Douglas Crockford vient d'ajouter une option "eqeq" à l'outil JSLint.

Voir l'une des modifications du 12 juin 2011 sur GitHub:

https://github.com/douglascrockford/JSLint/commits/2e8d430b5b9543caefb3743513181f1295f52ddf/jslint.js

Au moment de l'écriture, il n'avait pas été mis à jour sur la page d'accueil de JSLint, mais je l'ai testé avec les éléments suivants et je n'ai pas == avertissements liés:

/*jslint eqeq: true*/
var x = 0;
if (x == 1) {
    alert("test");
}
11
James Wiseman

Vous avez raison, il n'y a pas d'option pour cela. La seule façon est soit d'utiliser === ou modifiez le code source . J'utilise presque toujours === en tous cas. C'est mieux en général, sauf si vous savez que == est vraiment ce que vous voulez.

3
Matthew Crumley

Bien que cela soit tardif, cela aiderait quelqu'un qui en a besoin

Pour désactiver l'utilisation -

/* eslint eqeqeq: 0 */

Pour en faire un avertissement, utilisez -

/* eslint eqeqeq: 1 */
1
Pradeep Potnuru