Skip to content

noMisrefactoredShorthandAssign

Diagnostic Category: lint/suspicious/noMisrefactoredShorthandAssign

Since: v1.3.0

Sources:

Disallow shorthand assign when variable appears on both sides.

This rule helps to avoid potential bugs related to incorrect assignments or unintended side effects that may occur during refactoring.

a += a + b
code-block.js:1:1 lint/suspicious/noMisrefactoredShorthandAssign  FIXABLE  ━━━━━━━━━━━━━━━━━━━━━━━━━

✖ Variable appears on both sides of an assignment operation.

> 1 │ a += a + b
│ ^^^^^^^^^^
2 │

ℹ This assignment might be the result of a wrong refactoring.

ℹ Unsafe fix: Use a += b instead.

1 │ a·+=·a·+·b
│ ----
a -= a - b
code-block.js:1:1 lint/suspicious/noMisrefactoredShorthandAssign  FIXABLE  ━━━━━━━━━━━━━━━━━━━━━━━━━

✖ Variable appears on both sides of an assignment operation.

> 1 │ a -= a - b
│ ^^^^^^^^^^
2 │

ℹ This assignment might be the result of a wrong refactoring.

ℹ Unsafe fix: Use a -= b instead.

1 │ a·-=·a·-·b
│ ----
a *= a * b
code-block.js:1:1 lint/suspicious/noMisrefactoredShorthandAssign  FIXABLE  ━━━━━━━━━━━━━━━━━━━━━━━━━

✖ Variable appears on both sides of an assignment operation.

> 1 │ a *= a * b
│ ^^^^^^^^^^
2 │

ℹ This assignment might be the result of a wrong refactoring.

ℹ Unsafe fix: Use a *= b instead.

1 │ a·*=·a·*·b
│ ----
a += b
a = a + b
a = a - b