web-dev-qa-db-fra.com

Erreur ESLint sans ternaire inutile

ESLint me dit ce message d'erreur dans mon module JS: erreur no-unneeded-ternary Utilisation inutile de l'expression conditionnelle pour l'affectation par défaut

L'erreur vient de la méthode get sur l'instruction returnreturn val ? val : defaultVal;?

import ls from 'local-storage';

export default {
    get(key, defaultVal = null) {
        var val = ls(key);
        return val ? val : defaultVal;
    },

    set(key, val) {
        return ls(key, val);
    },

    remove(key) {
        return ls.remove(key);
    },
};

Une idée pourquoi j'obtiens ce message d'erreur? J'ai trouvé des ressources sur le site Web d'ESLint concernant ce message d'erreur ici mais cela s'applique aux expressions booléennes et je ne peux pas comprendre pourquoi cela s'appliquerait à mon code ...

24
Primoz Rome

Vous n'avez pas besoin d'un ternaire quand un simple val || defaultVal ça ira.

54
Dave Newton
// Bad
foo(bar ? bar : 1);

// Good
foo(bar || 1);

Voilà comment ils disent dans Es-lint

4
Charith Jayasanka