En muchos casos, la regla "prefer-destructuring" de ESLint es bastante rara. Considere el siguiente ejemplo:
obj.someVar = myList[0];El linter me está advirtiendo en ambos casos.
¿Cuál es el comportamiento esperado que quiere el linter? Puedo usar una variable temporal para guardar el valor del elemento de la lista y luego hacer el resto de la lógica, pero no veo ningún beneficio en ello. ¿Alguna idea de cuál es la razón de eso?
EDITAR:
Puedo ver el beneficio de la regla en algunas situaciones, es decir:
// bad const someVar = myList[0]; // good const [ someVar ] = myList;Pero cuando la asignación no es directamente a una var (como cuando se asigna una propiedad de un objeto), la regla parece irrelevante.
Lo que ESLint espera para obj.someVar = myList[0] es:
let obj = {}; let myList = [1,2]; [obj.someVar] = myList; console.dir(obj);Aquí hay un enlace a un Problema sobre ese tema Preferir desestructurar marca una asignación de propiedad # 11584