vscode visual sublime studio jshintrc es6 code cant javascript jshint

javascript - visual - jshintrc



Explicación de la ruptura de línea incorrecta de JSHint antes del error ''+'' (3)

¿Puede alguien explicarme por qué JSHint se queja de lo siguiente,

window.location.href = String1 + ''#'' + Sting2 + ''='' + String3;

Con el error, Error de Bad line breaking before ''+'' error

Entiendo que este error se puede configurar con la option laxbreak , que se describe como

Esta opción suprime la mayoría de las advertencias sobre rupturas de línea inseguras en su código. No suprime las advertencias sobre el estilo de codificación de coma primero. Para suprimir los que tiene que usar laxcomma (ver más abajo).

Esta explicación es bastante escueta y tengo curiosidad sobre por qué romper las líneas de esta manera se considera malo o flojo en primer lugar.

Tenga en cuenta que no estoy tratando de comenzar una guerra santa aquí, solo estoy buscando una respuesta objetiva sobre por qué la gente de JSHint piensa que esto es malo, si es solo una preferencia de estilo que están inyectando en su linter (yo pensaba que JSLint era el linter obstinado), o si hay algo que puede salir mal en ciertos intérpretes cuando se rompe la línea de esta manera.


Es una guía de estilo para evitar declaraciones que podrían ser sujetas a suposiciones sobre la inserción automática de punto y coma .

La idea es dejar en claro al final de una línea si la expresión termina allí o podría continuarse en la siguiente línea.


Jshint no lo marcará como un salto de línea malo si usa el + antes del salto de línea en lugar de en la nueva línea. Al igual que:

window.location.href = String1 + ''#'' + Sting2 + ''='' + String3;


No es una respuesta directa a la pregunta, pero para cualquiera que encuentre esto en Google (como lo hice yo) que desea mantener la regla pero corregir las advertencias, lo siguiente puede ser útil ...

Cuando se utiliza Notepad ++ (por ejemplo, con el plugin JSLint), esto se puede solucionar usando la siguiente búsqueda y reemplazo:

  • Encuentra qué: (/r/n|/n|/r)( *)/+
  • Reemplace con: +$1$2 (incluido el primer y último espacio)
  • Modo de búsqueda: expresión regular

(Solo probado en Windows pero la expresión regular también debería funcionar con finales de línea Unix o Mac OS).

Para hacer algo similar para || , && , == != , <= o >= lugar de + , usa esto:

  • Encuentre qué: (/r/n|/n|/r)( *)(/|/||&&|==|!=|<=|>=)
  • Reemplazar con: $3$1 $2 (incluido el primer y último espacio)