unicorn/no-array-sort 懸念
何を行うか
Array#sort() の代わりに Array#toSorted() を使用することを推奨します。
なぜ問題か
Array#sort() は元の配列をインプレースで変更するため、コード内で他の場所でも元の配列が使われている場合、意図しない副作用を引き起こす可能性があります。
例
このルールに対して 不正な コードの例:
js
const sorted = [...array].sort();このルールに対して 正しい コードの例:
js
const sorted = [...array].toSorted();設定
このルールは以下のプロパティを持つ設定オブジェクトを受け付けます。
allowExpressionStatement
type: boolean
default: true
true(デフォルト)に設定すると、array.sort() が式文として使用されることを許可します。 false に設定すると、式文であっても Array#sort() が禁止されます。
allowExpressionStatement が false に設定された場合の 不正な コードの例:
js
array.sort();使用方法
設定ファイルまたは CLI でこのルールを 有効化 するには、次のようにします:
json
{
"rules": {
"unicorn/no-array-sort": "error"
}
}bash
oxlint --deny unicorn/no-array-sort