¿Qué hace el punto y coma principal en las bibliotecas de JavaScript?
syntax semicolon (5)
En general, si una declaración comienza con (, [, /, +, o -, existe la posibilidad de que pueda interpretarse como una continuación de la declaración anterior. Las declaraciones que comienzan con /, + y - son bastante raras en la práctica , pero las declaraciones comienzan con (y [no son nada extraordinarias, al menos en algunos estilos de programación de JavaScript. Algunos programadores les gusta poner un punto y coma defensivo al comienzo de cualquier declaración para que continúe funcionando correctamente, incluso si la declaración antes de que se modifique y se elimine un punto y coma que termina previamente:
var x = 0 // Semicolon omitted here
;[x,x+1,x+2].forEach(console.log) // Defensive ; keeps this statement separate
Fuente:
En varias bibliotecas de JavaScript vi esta notación desde el principio:
/**
* Library XYZ
*/
;(function () {
// ... and so on
Aunque me siento perfectamente cómodo con la sintaxis de "función ejecutada inmediatamente"
(function(){...})()
Me preguntaba para qué sirve el punto y coma principal. Todo lo que pude llegar es que es un seguro. Es decir, si la biblioteca está incrustada en otro código con errores, sirve como un tipo de aumento de velocidad "la última instrucción finaliza aquí a más tardar".
¿Tiene alguna otra funcionalidad?
Es bueno cuando minimizas los códigos js. Evite errores de sintaxis inesperados.
La mejor respuesta fue dada en realidad en la pregunta, así que solo la escribiré aquí para mayor claridad:
El líder ;
frente a las expresiones de función invocadas inmediatamente está ahí para evitar errores al agregar el archivo durante la concatenación a un archivo que contiene una expresión que no termina correctamente con a ;
.
La mejor práctica es terminar sus expresiones con punto y coma, pero también usar el punto y coma principal como salvaguarda.
Le permite concatenar de forma segura varios archivos JS en uno, para servirlo más rápido como una solicitud HTTP.
Esto se conoce como punto y coma principal.
Su objetivo principal es protegerse del código anterior que se cerró incorrectamente, lo que puede causar problemas. Un punto y coma evitará que esto suceda. Si el código anterior no se cerró correctamente, nuestro punto y coma lo corregirá. Si se cerró correctamente, nuestro punto y coma será inofensivo y no habrá efectos secundarios.