eslint/prefer-destructuring Style ​
What it does ​
Require destructuring from arrays and/or objects
Why is this bad? ​
With JavaScript ES6, a new syntax was added for creating variables from an array index or object property, called destructuring. This rule enforces usage of destructuring instead of accessing a property through a member expression.
Examples ​
Examples of incorrect code for this rule:
// With `array` enabled
const foo = array[0];
bar.baz = array[0];
// With `object` enabled
const qux = object.qux;
const quux = object["quux"];Examples of correct code for this rule:
// With `array` enabled
const [foo] = array;
const arr = array[someIndex];
[bar.baz] = array;
// With `object` enabled
const { baz } = object;
const obj = object.bar;Configuration ​
This rule accepts a configuration object with the following properties:
AssignmentExpression ​
type: object
default: {"array":true, "object":true}
Configuration for destructuring in assignment expressions, configured for arrays and objects independently.
AssignmentExpression.array ​
type: boolean
default: true
AssignmentExpression.object ​
type: boolean
default: true
VariableDeclarator ​
type: object
default: {"array":true, "object":true}
Configuration for destructuring in variable declarations, configured for arrays and objects independently.
VariableDeclarator.array ​
type: boolean
default: true
VariableDeclarator.object ​
type: boolean
default: true
enforceForRenamedProperties ​
type: boolean
default: false
Determines whether the object destructuring rule applies to renamed variables.
How to use ​
To enable this rule in the CLI or using the config file, you can use:
oxlint --deny prefer-destructuring{
"rules": {
"prefer-destructuring": "error"
}
}