O que o ponto-e-vírgula líder nas bibliotecas JavaScript faz?

Em várias bibliotecas JavaScript eu vi essa notação no começo:

/** * Library XYZ */ ;(function () { // ... and so on 

Enquanto eu estou perfeitamente confortável com a syntax “function executada imediatamente”

 (function(){...})() 

Eu queria saber para que serve o ponto-e-vírgula. Tudo o que consegui fazer é que é um seguro. Ou seja, se a biblioteca estiver embutida em outro código com bugs, ela servirá como uma “última declaração terminada aqui no mais recente” tipo de aumento de velocidade.

Tem alguma outra funcionalidade?

Ele permite que você concatene com segurança vários arquivos JS em um, para servi-lo mais rapidamente como uma solicitação HTTP.

A melhor resposta foi realmente dada na pergunta, então vou apenas escrever aqui para esclarecer:

O líder ; na frente de expressões de function invocadas imediatamente existe para evitar erros ao append o arquivo durante a concatenação a um arquivo que contém uma expressão não terminada corretamente com a ; .

A melhor prática é terminar suas expressões com ponto-e-vírgula, mas também usar o ponto-e-vírgula principal como uma salvaguarda.

Em geral, se uma instrução começar com (, [, /, + ou -, há uma chance de que ela possa ser interpretada como uma continuação da instrução anterior. Declarações iniciadas com /, + e – são bastante raras na prática , mas instruções começando com (e [não são incomuns, pelo menos em alguns estilos de programação JavaScript. Alguns programadores gostam de colocar um ponto-e-vírgula defensivo no início de qualquer declaração para que continue a funcionar corretamente mesmo se a instrução antes de ser modificado e um ponto-e-vírgula previamente terminado removido:

 var x = 0 // Semicolon omitted here ;[x,x+1,x+2].forEach(console.log) // Defensive ; keeps this statement separate 

Fonte:

Javascript the Definitive Guide 6ª edição

Isto é referido como um ponto e vírgula líder.

Seu objective principal é proteger-se do código anterior que foi fechado incorretamente, o que pode causar problemas. Um ponto e vírgula impedirá que isso aconteça. Se o código anterior foi fechado incorretamente, nosso ponto-e-vírgula corrigirá isso. Se foi devidamente fechado, o nosso ponto-e-vírgula será inofensivo e não haverá efeitos colaterais.

É bom quando você reduz os códigos js. Evitar erros de syntax inesperados.