javascript - separar - ¿Por qué usar punto y coma?
poner puntos a un numero javascript (5)
Como sugiere Douglas Crockford :
Poner un ; (punto y coma) al final de cada declaración simple. Tenga en cuenta que una instrucción de asignación que está asignando un literal de función o un literal de objeto sigue siendo una instrucción de asignación y debe terminar con un punto y coma.
Esta pregunta ya tiene una respuesta aquí:
¿Hay alguna razón, además de la percepción visual subjetiva y los casos en los que tiene múltiples declaraciones en la misma línea, para utilizar punto y coma al final de las declaraciones en JavaScript?
Parece que hay muchas pruebas que sugieren que el uso de punto y coma es altamente opcional y solo se requiere en algunos casos específicos.
Parece que hay muy pocas razones o, en realidad, casos límite, cuando uno quisiera usar punto y coma.
http://aresemicolonsnecessaryinjavascript.com/ <- esto está caído ahora, use
https://github.com/aresemicolonsnecessaryinjavascript/aresemicolonsnecessaryinjavascript.github.com
Porque
- Depurar los errores sutiles que ocurren cuando no lo haces es una pérdida de tiempo que podrías estar gastando haciendo algo genial
- Lo hace más claro para alguien que mantiene el código más tarde de lo que pretende
- No todos los mantenedores de código entienden las reglas para la inserción automática lo suficientemente bien como para mantener el código con ellos omitidos
- Salir de ellos depende de todas las herramientas que procesan código JavaScript en su cadena de herramientas para obtener las reglas correctas (por ejemplo, algunos minificadores / empaquetadores / compresores no lo incluyen , incluido el
jsmin
de Crockford , que romperá código que depende de ASI en algunos lugares)
Porque JavaScript te hace cosas desagradables cuando adivina dónde poner punto y coma. Es mejor ser explícito y dejar que el intérprete sepa exactamente lo que quiere decir que dejar que el idiota adivine en su nombre.
Referencias
- http://www.webmasterworld.com/forum91/521.htm
- http://www.howtocreate.co.uk/tutorials/javascript/semicolons
- http://robertnyman.com/2008/10/16/beware-of-javascript-semicolon-insertion/
... y un elenco de miles.
Si lo pidió, porque proviene de un fondo de Python: la diferencia es:
en Python no debe terminar líneas con nada, pero se le permite usar el punto y coma, si debe
en JavaScript, debe terminar las líneas con un punto y coma, pero está permitido (PDF, página 26, punto 7.9) omitirlo, si no es ambiguo