展开

开发者手册

禁止三元运营商(非三元)

三元运算符用于有条件地为变量赋值。有些人认为使用三元运算符会导致代码不清晰。

代码语言:javascript
复制
var foo = isBar ? baz : qux;

规则细节

这条规则不允许三元运算符。

此规则的错误代码示例:

代码语言:javascript
复制
/*eslint no-ternary: "error"*/

var foo = isBar ? baz : qux;

function quux() {
  return foo ? bar() : baz();
}

此规则的正确代码示例:

代码语言:javascript
复制
/*eslint no-ternary: "error"*/

var foo;

if (isBar) {
    foo = baz;
} else {
    foo = qux;
}

function quux() {
    if (foo) {
        return bar();
    } else {
        return baz();
    }
}

相关规则

  • 没有嵌套三元
  • 没有不必要的三元

版本

该规则在 ESLint 0.0.9 中引入。

资源