Skip to content
← Back to rules

unicorn/no-immediate-mutation 細かい

An auto-fix is available for this rule.

何をするか

変数の初期化直後にその変数を変更することを禁止します。

なぜ悪いのか

変数を初期化した直後にその変数を変更すると、変更処理を初期化の段階に含めるほうが見通しが良く、コードがより読みやすくなり、ステートメントの数も減ります。

このルールに対して誤りなコードの例:

js
const array = [1, 2];
array.push(3);

const object = { foo: 1 };
object.bar = 2;

const set = new Set([1, 2]);
set.add(3);

const map = new Map([["foo", 1]]);
map.set("bar", 2);

このルールに対して正しいコードの例:

js
const array = [1, 2, 3];

const object = { foo: 1, bar: 2 };

const set = new Set([1, 2, 3]);

const map = new Map([
  ["foo", 1],
  ["bar", 2],
]);

使用方法

設定ファイルまたは CLI でこのルールを有効化するには、以下のいずれかを使用できます:

json
{
  "rules": {
    "unicorn/no-immediate-mutation": "error"
  }
}
bash
oxlint --deny unicorn/no-immediate-mutation

参照