$ cnpm install @putout/plugin-simplify-ternary
The ternary operator takes three operands: a condition followed by a question mark (
?), then an expression to execute if the condition is truthy followed by a colon (:), and finally the expression to execute if the condition is falsy. This operator is frequently used as an alternative to anif...elsestatement.(c) MDN
????Putout plugin adds ability to simplify ternary to logical expression when first and second operands are the same.
npm i @putout/plugin-simplify-ternary -D
{
"rules": {
"simplify-ternary/value": "on",
"simplify-ternary/spread": "on"
}
}
Check out in ????Putout Editor.
module.exports = fs.copyFileSync ? fs.copyFileSync : copyFileSync;
x = y ? y : z;
x = y ? z : y;
x = y ? z : false;
m = is ? a && b : a && c;
module.exports = fs.copyFileSync || copyFileSync;
x = y || z;
x = y && z;
m = a && is ? b : c;
No need to use ternary when you can use logical expression (&&) it behaves in the same way, but simpler.
Check out in ????Putout Editor.
const a = {
...DEV ? {
devtool: 'eval',
} : {},
};
const a = {
...DEV && {
devtool: 'eval',
},
};
| Linter | Rule | Fix |
|---|---|---|
| ???? Putout | simplify-ternary |
✅ |
| ⏣ ESLint | no-unneeded-ternary |
⚠️ (partially: no MemberExpression, SpreadElement support) |
MIT
Copyright 2013 - present © cnpmjs.org | Home |