¿Por qué es que JSLint devuelve un 'escape malo' en la siguiente línea de JavaScript?¿Por qué JSLint devuelve 'mal escape' en esta línea de código?
param = param.replace(/[\[]/,"\\\[").replace(/[\]]/,"\\\]");
De la documentación JSLint pensé que esto estaría bien ya que el literal de expresiones regulares es precedida por un paréntesis:
Las expresiones regulares son escritos en un escueto y la notación críptica. JSLint busca problemas que pueden causar problemas de portabilidad. También intenta para resolver ambigüedades visuales por recomendando un escape explícito.
La sintaxis de JavaScript para los literales de expresión regulares sobrecarga el carácter/ . Para evitar la ambigüedad, JSLint espera que el carácter anterior una expresión regular literal es un (o = o: o, carácter
¿Por qué utiliza clases de caracteres para caracteres individuales? –
¿Estás seguro de que "escape malo" se refiere al carácter que precede a una expresión regular? El mensaje de error y la descripción entre comillas no parecen coincidir. – Joey
@Johannes: No se refiere a las expresiones regulares, pero puedo ver cómo se podría pensar eso. Es la única sección en las instrucciones donde se menciona "escape". – Guffa