no-unneeded-ternary

当存在更简单的替代方案时,不允许使用三元运算符

一些该规则报告的问题可以通过 --fix 命令行选项 自动修复

JavaScript 中的一个常见错误是使用条件表达式在两个布尔值之间进行选择,而不是使用 !将测试转换为布尔值。这里有些例子:

// Bad
var isYes = answer === 1 ? true : false;

// Good
var isYes = answer === 1;

// Bad
var isNo = answer === 1 ? false : true;

// Good
var isNo = answer !== 1;

另一个常见的错误是使用单个变量作为条件测试和结果。在这种情况下,逻辑 OR 可用于提供相同的功能。这是一个例子:

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

// Good
foo(bar || 1);

规则详情

当存在更简单的替代方案时,此规则不允许三元运算符。

BBJWkULQKXOKIgBNo1Kf75ZIz4Bid3wdSxQL2AwoPrKMXjKPkT5hdLtnrWwkCnu5

/*eslint no-unneeded-ternary: "error"*/

var a = x === 2 ? true : false;

var a = x ? true : false;

PwR5DrJrN80min96hKNCvTqBajX6zEp21bd6ZYasO8zgB97mz8MBbdVstv/4Rxmy

/*eslint no-unneeded-ternary: "error"*/

var a = x === 2 ? "Yes" : "No";

var a = x !== false;

var a = x ? "Yes" : "No";

var a = x ? y : x;

f(x ? x : 1); // default assignment - would be disallowed if defaultAssignment option set to false. See option details below.

选项

p1sIsUzWj7eKM+EUv2HNlnsnvE1bT5JSf47c560J9CBYA02bGyxiTV09uGLcNZl8

    H/JUUZBIMzLcV+uv+b3nzjsD5YSlHdBszKL8Q8tSr5xO29QuZCnp0BtB9CEnxc/a4UuOXn8eBLhxDUKESRyExs49VgkdwvO808wbhrtlQyvUiSFJRIH6fmWLlzZh4FgM4NdcBSXFQof6QEwWzFYEgNcxBVgvTd+3Gojsq1B/Enx5Z0/1cJ9yk0mccam3RlSx5I99GVcNxWRf3IQ3XwDL/qHAXo71zNjZG7Ztec+5Q1Jyij0nF+bRuYcDRFB8kysV17EGE2WQqJymknP3se+RSw==

defaultAssignment

qkjZsZRlFgQOgm3QpC8qrrKcd3WOH926iSp9msEKaAnEvZV5v6UZryEbZrENYT926XBWKMy9EvM3lswmM0RMO4qZbWd/muW7c6ytmZ4y9KlLaB6g0wnURyIeatE82hRWIrH9aTNHmHymZeKazzZxWxDwyqkaKhyoClPIXymTkk5uFUb41HO6YSszk2ZkTgNroPb4oFmyU6sclMlJPXzjS7ZBrvtj/0JHawIT/RSTHhRSN93A5zPqDC2I0Jwl86Yr8ibPSuCTHgr6Mpx3McqVjgEm8vRwrdGSM/Vvd0tpxfI=

wJzb6uCyDhWShFa+PH5QT/4WL+1SGk7F6Kl2skozMv1kZAqMJtdiOZWwdiyTtONHJ4g1Sqz+h+h4FPJXCaAHqpToXEuegYlQqOpZxWub98xA8oo+HFkJAuYcDm5jqT+qZ2lGenSqzhAFjCnprJWh0Q==

/*eslint no-unneeded-ternary: ["error", { "defaultAssignment": false }]*/

var a = x ? x : 1;

f(x ? x : 1);

P/YBr/+/NJBftXdqAPh2NrgWADrCIS/IghEQ+DEm+B5wf5rkpulSsReb6MdJYjyvZmPZixrNyDMrsjBCp2ZhkRw5EfWG7H3Z/GrLko9Ep8EIHT+xdjXQVKMsGXB5zatwupC3LsvKDr1GOXmeacG80nsWhx7VoAiLIATJ08gQKj504NLgBVrBjYEJDQu69egalfAUpnGLx5yBA6Mh2EALBg==

何时不使用

zXXq1lVIqQfAG97FXseTuRLwkDE6Q56x8YA8xERS6jr1sMEldxPl/a2j26BhvwHqijV3S2NC+e/DAZzKD7YNh30WDEBGiq3Hg812QXxHi4GkoaekVNqZ0MnZ0kDVq/pi