Perdí puntos y comas en algunos de los lugares de mi JavaScript, pero no arrojó errores en ninguno de los navegadores. ¿Es necesario el ;
al final?¿Necesitamos punto y coma al final?
Respuesta
El concepto es conocido como Punto y coma JavaScript inserción o "Punto y coma automática de inserción". Esta entrada de blog: JavaScript Semicolon Insertion: Everything you need to know esboza el concepto bien de una manera comprensible usando ejemplos en los epígrafes:
- donde se permiten comas
- Cuando comas puede omitirse
- Las reglas
Incluso profundiza en el official ECMAScript specification sobre el tema.
Si no está arrojando errores de compilación, debería estar bien. Sin embargo, es mejor que recuerde usarlos todo el tiempo, ya que algunos idiomas en los que podría acceder, como object-c, son inflexibles sobre su uso.
recordar una regla de sintaxis en un idioma no tiene ningún beneficio para otros idiomas. – SingleNegationElimination
Pero la regla de un punto y coma es tan universal que, en general, recordarla tiene muchos beneficios. –
Javascript hace algo llamado "inserción de punto y coma", lo que significa que realmente puede escribir código que omite el punto y coma en ciertos lugares, y básicamente se agregarán cuando se analice el código.
Las reglas cuando esto sucede un poco complejo. Por simplicidad, muchos desarrolladores simplemente simulan que la inserción de punto y coma no existe.
A veces fantaseo con un mundo donde la inserción de punto y coma no existe. – JAL
Hubo un hilo interesante recientemente en la lista de correo node.js que vale la pena leer: http://groups.google.com/group/nodejs/browse_thread/thread/3166a2bd54e2acf6?pli=1. Mira el estilo de codificación de Isaac Schlueter; es una forma interesante de aprovechar ASI - no es necesariamente algo malo :) – ShZ
El documento de estilo de código de Isaac Schlueter se ha mudado: https://github.com/isaacs/npm/blob/master/doc/misc/npm- coding-style.md – Pylinux
Los puntos y coma no son necesarios para la programación de JavaScript, sin embargo, le aconsejo que lo use. Hace que tu código sea más legible y en realidad es una buena práctica, y casi todos los lenguajes de programación geniales lo usan.
Tome una posición y úsela, ¡depende de usted ahora!
No es cierto que no se requiera el punto y coma. De la especificación: 'Ciertas declaraciones ECMAScript ** deben ** terminarse ** con punto y coma. Http://bclary.com/2004/11/07/#a-7.9 –
sí, tienes razón, aclaro gracias a la inserción automática que hay En muchos casos tienes derecho a evitarlo pero (un gran PERO) como dije antes no creo que sea una buena práctica hacerlo – Necronet
En Scala y Groovy (y Python) no necesitas punto y coma, y es más idiomático no usalos, usalos a ellos. ¿Cuáles son los idiomas "geniales" de los que habla que necesitan punto y coma? – Pylinux
Usted puede escribir javascript sin semiconon, sólo es necesario para insertarlos si se inicia una línea con un parantesis (o un soporte [
La función sugarjs veces() es un buen ejemplo:.
<script>
var somthing = 1 + 3
;(5).times(function(n){
console.log(n + " line") //prints "X line" 5 times
})
</script>
en este artículo se echa por tierra la mayor parte de los mitos surounding javascript y puntos y comas: link
tampoco necesita utilizar etiquetas de cierre html, los navegadores las cerrarán automáticamente –
Personalmente estoy en desacuerdo sobre el cierre de las etiquetas html por dos razones: 1. Son requeridas por el [XHTML] (http: //codex.wordpress .org/HTML_to_XHTML # All_tags_must_be_closed.2C_even_single_tags) estándar. (Los puntos y coma es opcional en el estándar [ECMA] (http://www.ecma-international.org/ecma-262/5.1/#sec-7.9)) 2. Dan estructura a su código, dicen algo acerca de dónde las etiquetas terminan (En el punto y coma de JavaScript dice que el final de la línea fluye inmediatamente por una nueva línea que dice lo mismo) No quiero sonar duro, si usted y su equipo escriben sin cerrar las etiquetas, entonces Godsspeed :-) – Pylinux
@DavidFregoli los navegadores se equivocarán la mayor parte del tiempo –
Decir que la escritura de código con punto y coma hace que sea más readab el es absurdo Hace que su código sea más CLUTTERED. Mira el código en esta página sin los puntos y comas y dime que es menos legible. Es más legible, menos desordenado, más limpio y más elegante. Los puntos y coma son feos e innecesarios. Ver este artículo: http://mislav.uniqpath.com/2010/05/semicolons/
No puedo estar más en desacuerdo. He visto código con algunos bloques entonces/else y sin punto y coma, y no puedo confiar en ello ... como un baile de sable en un piso recién encerado, que solía reservarse como una broma sobre el lenguaje C. – Kim
- 1. ¿Necesito un punto y coma final aquí?
- 2. Perl punto y coma al final de la instrucción
- 3. ¿por qué la directiva #include no tiene un punto y coma al final de la instrucción?
- 4. ¿Por qué Objective-C permite un punto y coma al final de una definición de método?
- 5. Razor/JavaScript y punto y coma posterior
- 6. Dígitos de concordancia regex, coma y punto y coma?
- 7. Punto y coma en jQuery
- 8. ¿Cómo eliminar una coma al final?
- 9. Punto y coma opcional en C++
- 10. ¿Necesitamos un punto y coma después de la declaración de la función?
- 11. ¿Cómo funciona el punto y coma al comienzo de "para"?
- 12. HttpWebRequest a URL con punto al final
- 13. Uso de punto y coma dentro timeit
- 14. Punto y coma después de la función
- 15. Resharper añade automáticamente punto y coma
- 16. ¿Debo usar punto y coma en JavaScript?
- 17. Regex solo números y punto o coma
- 18. Vim insertar punto y coma inteligente
- 19. ¿Puede una URL contener un punto y coma?
- 20. Regex para permitir solo caracteres alfanuméricos, coma, guión, guión bajo y punto y coma
- 21. ¿Por qué Java no muestra un error para punto y coma doble al final de una instrucción?
- 22. punto y coma en la definición de la regla Makefile
- 23. Agregue una coma al final de cada línea usando php
- 24. Poner coma (,) al final de la matriz. ¿Es una convención?
- 25. exponiendo punto final net.tcp
- 26. Declaraciones automáticas de inserción y devolución de punto y coma
- 27. Efecto de usar una coma en lugar de un punto y coma en C y C++
- 28. cómo quitar coma si la cadena que tiene coma al final
- 29. Inicialización de propiedades en línea y coma final
- 30. JavaScript estilo y minificación de código sin punto y coma?
Como regla general, los saltos de línea pueden reemplazar a los puntos y comas con algunas excepciones intuitivas: (1) sentencias vacías: 'while (true);', (2) dentro de la sintaxis de for '' (;;) 'y (3) cuando reemplazar rompería el código, por ejemplo: 'a = b \ n + c' o' $ http (...) \ n .success (...) 'sería un código inválido si el \ n fuera reemplazado, entonces simplemente no lo es. – VinGarcia
Ops, me perdí 2 casos de esquina raros pero importantes que no se analizarán como se esperaba sin punto y coma: 'a = b \ n (función (...) {...})() 'analizaría como si \ n no existiera, y' a = b \ n [1,2,3] .forEach (...) 'también analizaría como si fuera una sola expresión. Entonces, en estos casos, sería necesario un punto y coma. – VinGarcia