unicorn/no-immediate-mutation 細かい
何をするか
変数の初期化直後にその変数を変更することを禁止します。
なぜ悪いのか
変数を初期化した直後にその変数を変更すると、変更処理を初期化の段階に含めるほうが見通しが良く、コードがより読みやすくなり、ステートメントの数も減ります。
例
このルールに対して誤りなコードの例:
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