diff --git a/lib/rules/prefer-const.js b/lib/rules/prefer-const.js index bdda581b1aea..c24ee3284122 100644 --- a/lib/rules/prefer-const.js +++ b/lib/rules/prefer-const.js @@ -204,11 +204,20 @@ function groupByDestructuring(variables, ignoreReadBeforeAssign, checkingMixedDe for (const key of identifierMap.keys()) { const destructureGroup = identifierMap.get(key); const destructureElement = destructureGroup[0]; + let elementsInHost; - if (destructureElement && destructureElement.parent && destructureElement.parent.elements) { - if (destructureElement.parent.elements.length !== destructureGroup.length) { - identifierMap.delete(key); + if (destructureElement && destructureElement.parent) { + if (destructureElement.parent.elements) { + elementsInHost = destructureElement.parent.elements; } + + if (destructureElement.parent.parent.type === "ObjectPattern") { + elementsInHost = destructureGroup[0].parent.parent.properties; + } + } + + if (elementsInHost && elementsInHost.length && elementsInHost.length !== destructureGroup.length) { + identifierMap.delete(key); } } }