@putout/plugin-assignment 
The assignment operator (
=
) is used to assign a value to a variable. The assignment operation evaluates to the assigned value. Chaining the assignment operator is possible in order to assign a single value to multiple variables.
🐊Putout plugin adds ability to transform to new Node.js API and apply best practices.
Install
npm i putout @putout/plugin-assignment -D
Rules
- ✅ convert-to-arrow-function;
- ✅ convert-to-comparison;
- ✅ convert-to-declaration;
- ✅ simplify;
- ✅ split;
Config
{
"rules": {
"assignment/convert-to-arrow-function": "on",
"assignment/convert-to-comparison": "on",
"assignment/convert-to-declaration": "on",
"assignment/simplify": "on",
"assignment/split": "on"
}
}
convert-to-arrow-function
An arrow function expression is a compact alternative to a function expression.
(c) MDN
Rule adds ability to convert assignment to arrow function.
❌ Example of incorrect code
const createRegExp = a = RegExp(a, 'g');
✅ Example of correct code
const createRegExp = (a) => RegExp(a, 'g');
convert-to-comparison]
You should almost never have an
if...else
with an assignment likea = b
as a condition.(c) MDN
❌ Example of incorrect code
if (a = b) {}
✅ Example of correct code
if (a === b) {}
convert-to-declaration
The
const
declaration declares block-scoped local variables. The value of a constant can't be changed through reassignment using the assignment operator, but if a constant is an object, its properties can be added, updated, or removed.(c) MDN
Checkout in 🐊Putout Editor.
❌ Example of incorrect code
a = 5;
✅ Example of correct code
const a = 5;
simplify
❌ Example of incorrect code
const {a} = {
a: 5,
};
const [b] = [5];
const c = (() => 7)();
✅ Example of correct code
const a = 5;
const b = 5;
const c = 7;
split
Rule adds ability to find and split variable declarations because (re)moving a line is simpler and less error prone then changing coma (=
) to colon (;
).
For the same reason, diff of changed declarations are more comfortable to read. Checkout in 🐊Putout Editor.
❌ Example of incorrect code
a = b = c = 1;
✅ Example of correct code
a = 1;
b = a;
c = a;
License
MIT