ESLint错误不需要 - 三元组

Pri*_*ome 22 javascript eslint

ESLint在我的JS模块中告诉我这条错误消息:error no-unneeded-ternary默认赋值不必要地使用条件表达式

错误出现在语句的get方法中?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);
    },
};
Run Code Online (Sandbox Code Playgroud)

知道为什么我会收到此错误消息吗?我发现在ESLint网站关于此错误消息的一些资源在这里,但它适用于布尔表达式,我想不通为什么会适用于我的代码...

Dav*_*ton 49

当一个简单的val || defaultVal做法时,你不需要三元组.


Cha*_*nka 15

// Bad
foo(bar ? bar : 1);

// Good
foo(bar || 1);
Run Code Online (Sandbox Code Playgroud)

这就是他们在 Es-lint 中的说法