2011-10-28 15 views
6

tengo Javascript Lint creadas para llevar a cabo la comprobación de sintaxis en Vim, y cuando tengo una declaración comoJavascript Lint afirma punto y coma adicional es malo (después de `if`)

if (i > 0){ 
i--; 
}; 

Se genera la siguiente advertencia

test.js|160 warning| empty statement or extra semicolon 

Pensé que es mejor siempre terminar las frases con punto y coma (ver here). No está emitiendo un error, pero ¿por qué la advertencia? Cómo puedo cambiar esto. No recibo innumerables advertencias cuando estoy buscando advertencias legítimas.

+2

La advertencia es legítima. Creo que deberías poder desactivarlo, si quieres, aunque no puedo ayudarte con eso, pero es correcto. –

+0

¿por qué, sin embargo, no es mejor, o al menos no es peor, tener punto y coma después de las declaraciones if? – puk

+0

Creo que es una cuestión de gusto. Creo que es peor, pero, como dije, tiene derecho a su opinión y a los medios técnicos para aplicarlo localmente. –

Respuesta

9

Supongo que se está quejando del punto y coma final después del corsé de cierre.

}; 

En cualquier lenguaje de programación que haya utilizado, no es normal cerrar bloques con punto y coma. El bloque está cerrado por el corsé de cierre.

Hay más discusión en JavaScript: When should I use a semicolon after curly braces?.

+1

Sí, pero mi pregunta es por qué es una advertencia. Debería ser perfectamente legal. – puk

+2

La razón por la que es una advertencia es {...} es una declaración completa. {...} seguido de un punto y coma son dos instrucciones completas, una de las cuales está vacía. – mah

+3

Sí, la declaración vacía es perfectamente legal. De ahí la advertencia, no el error ;-) –

Cuestiones relacionadas