Pular para o conteúdo

noSelfAssign

Este conteúdo não está disponível em sua língua ainda.

Disallow assignments where both sides are exactly the same.

Self assignments have no effect, so probably those are an error due to incomplete refactoring.

a = a;
code-block.js:1:5 lint/correctness/noSelfAssign ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

a is assigned to itself.

> 1 │ a = a;
^
2 │

This is where is assigned.

> 1 │ a = a;
^
2 │

Self assignments have no effect and can be removed.

[a] = [a];
code-block.js:1:8 lint/correctness/noSelfAssign ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

a is assigned to itself.

> 1 │ [a] = [a];
^
2 │

This is where is assigned.

> 1 │ [a] = [a];
^
2 │

Self assignments have no effect and can be removed.

({a: b} = {a: b});
code-block.js:1:15 lint/correctness/noSelfAssign ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

b is assigned to itself.

> 1 │ ({a: b} = {a: b});
^
2 │

This is where is assigned.

> 1 │ ({a: b} = {a: b});
^
2 │

Self assignments have no effect and can be removed.

a.b = a.b;
code-block.js:1:9 lint/correctness/noSelfAssign ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

b is assigned to itself.

> 1 │ a.b = a.b;
^
2 │

This is where is assigned.

> 1 │ a.b = a.b;
^
2 │

Self assignments have no effect and can be removed.

a[b] = a[b];
code-block.js:1:10 lint/correctness/noSelfAssign ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

b is assigned to itself.

> 1 │ a[b] = a[b];
^
2 │

This is where is assigned.

> 1 │ a[b] = a[b];
^
2 │

Self assignments have no effect and can be removed.

a[b].foo = a[b].foo;
code-block.js:1:17 lint/correctness/noSelfAssign ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

foo is assigned to itself.

> 1 │ a[b].foo = a[b].foo;
^^^
2 │

This is where is assigned.

> 1 │ a[b].foo = a[b].foo;
^^^
2 │

Self assignments have no effect and can be removed.

a['b'].foo = a['b'].foo;
code-block.js:1:21 lint/correctness/noSelfAssign ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

foo is assigned to itself.

> 1 │ a[‘b’].foo = a[‘b’].foo;
^^^
2 │

This is where is assigned.

> 1 │ a[‘b’].foo = a[‘b’].foo;
^^^
2 │

Self assignments have no effect and can be removed.

a &= a;
var a = a;
let a = a;
const a = a;
[a, b] = [b, a];
biome.json
{
"linter": {
"rules": {
"correctness": {
"noSelfAssign": "error"
}
}
}
}