Je suis totalement cool avec cette JSLint error. Comment puis-je le tolérer? Y at-il un drapeau ou une case à cocher pour cela?
Vous l'obtenez quand vous faites des choses comme:
v && arr.Push(v);
par opposition à:
if (v) {
arr.Push(v);
}
Les deux font exactement la même chose. Si vous mettez:
window.test = function(v) {
'use strict';
var arr = [];
if (v) {
arr.Push(v);
}
return arr;
};
dans le minifier cela diminue quand même:
window.test=function(a){var b=[];a&&b.Push(a);return b};
Je ne pense pas que JSLint ait une option pour désactiver cela.
JSHint (une fourchette avec plus d'options) a une option, cependant: L'option expr
, documentée comme "si ExpressionStatement doit être autorisé en tant que programme".
Vous pouvez ajouter la ligne suivante pour ignorer cet avertissement:
/ * jshint -W030 * /
Vous pouvez en lire plus à ce sujet ici .
Il n'y a pas d'option pour cela dans JSLint. Vous pouvez le contourner en utilisant:
var dummy = v && arr.Push(v);
NB: dummy
est évalué à true
après cela.
Une autre solution pourrait être:
function expression(statement) {
'use strict';
return statement;
}
expression(v && arr.Push);
Les gens qui cherchent comment le supprimer en utilisant ESLint . Vous pouvez le découvrir en écrivant le commentaire suivant juste au-dessus de la ligne.
// eslint-disable-next-line no-unused-expressions
Vous pouvez également supprimer l'avertissement pour le fichier entier en plaçant le commentaire suivant tout en haut du fichier.
/* eslint-disable no-unused-expressions */