eslint/prefer-destructuring スタイル
何をするか
配列および/またはオブジェクトからの構造分解(destructuring)を使用することを要求する
なぜこれは悪いのか
JavaScript ES2015 では、配列のインデックスやオブジェクトのプロパティから変数を作成するための新しい構文が追加された。これを「構造分解」と呼ぶ。このルールは、メンバー式を通じてプロパティにアクセスする代わりに、構造分解の使用を強制する。
例
このルールに違反する 誤った 例:
js
// `array` が有効な場合
const foo = array[0];
bar.baz = array[0];
// `object` が有効な場合
const qux = object.qux;
const quux = object["quux"];このルールに準拠する 正しい 例:
js
// `array` が有効な場合
const [foo] = array;
const arr = array[someIndex];
[bar.baz] = array;
// `object` が有効な場合
const { baz } = object;
const obj = object.bar;設定
このルールは以下のプロパティを持つ設定オブジェクトを受け入れます。
AssignmentExpression
type: object
default: {"array":true, "object":true}
割り当て式における構造分解の設定で、配列とオブジェクトそれぞれ独立して設定可能。
AssignmentExpression.array
type: boolean
default: true
AssignmentExpression.object
type: boolean
default: true
VariableDeclarator
type: object
default: {"array":true, "object":true}
変数宣言における構造分解の設定で、配列とオブジェクトそれぞれ独立して設定可能。
VariableDeclarator.array
type: boolean
default: true
VariableDeclarator.object
type: boolean
default: true
enforceForRenamedProperties
type: boolean
default: false
オブジェクトの構造分解ルールがリネームされた変数にも適用されるかどうかを決定する。
使用方法
設定ファイルまたは CLI でこのルールを 有効化 するには、次のようにする。
json
{
"rules": {
"prefer-destructuring": "error"
}
}bash
oxlint --deny prefer-destructuring