Estoy tratando de averiguar cómo suprimir el error de eslint en mi código javascript.
La variable local 'rtn' es redundante
Encontré la documentación para esto aquí: https://eslint.org/docs/rules/no-useless-return
Los documentos dicen:
Si no le importa deshabilitar declaraciones de devolución redundantes, puede desactivar esta regla.
Pero no digas cómo deshabilitar este error. El único ejemplo que dan es tenerlo habilitado: /* eslint no-useless-return: "error" */ .
Soy nuevo en eslint, ¿cómo hago esto ? He intentado
/* eslint no-useless-return: "suppress" */ export function dateToYYYYMMDD(theDate : Date, separator = "-") : string { const rtn = theDate.getFullYear() + separator + ("0" + (theDate.getMonth() + 1)).substr(-2) + separator + ("0" + theDate.getDate()).substr(-2); return rtn; }pero esto no funcionó. Probé otros valores como "ok" pero no funcionó. ¿Cuál es el valor correcto para usar?
La misma pregunta pero para Java está aquí: "La variable local es redundante" usando Java . La anotación de Java @SuppressWarnings("UnnecessaryLocalVariable") no funciona en Javascript. :-)
Creo que puedes resolverlo en línea así:
// eslint-disable-next-line no-useless-return export function dateToYYYYMMDD(theDate : Date, separator = "-") : string { .....este comentario debe estar en la parte superior de la línea donde ocurre el error.
o puede crear un archivo de configuración de eslint como .eslintrc.json y deshabilitarlo en las reglas, por ejemplo:
{ "globals": { "__DEV__": "readonly" }, "env": { "es2021": true }, "extends": [ .... ], "plugins": [ .... ], "rules": { "no-useless-return": "off" } }o puede devolver la expresión directamente en lugar de almacenarla en una constante
No hay necesidad de declarar una variable y luego devolverla inmediatamente; simplemente devuelva la expresión sin asignarla primero a una variable.
export function dateToYYYYMMDD(theDate : Date, separator = "-") : string { return theDate.getFullYear() + separator + ("0" + (theDate.getMonth() + 1)).substr(-2) + separator + ("0" + theDate.getDate()).substr(-2); }Entonces, lo primero es, si desea deshabilitar una regla en ESLint, consulte: https://eslint.org/docs/user-guide/configuring/rules#disabling-rules
En segundo lugar, no parece que esa advertencia de regla específica tenga sentido en su código: he intentado reproducirla aquí ( ESLint Demo ) y no recibo ningún mensaje después de activar no-useless-return .
Es posible que desee volver a verificar su IDE y ver si esto realmente proviene de ESLint.
Sé que una extensión como SonarLint detectaría tal cosa, por lo que debe consultar su editor para ver qué está desencadenando el mensaje que recibió.