¿Es necesario usar punto y coma (;) en javascript?

Fácil - 1 min. lectura

No, javaScript no requiere que se utilicen los puntos y comas al final de las declaraciones ya que el intérprete se encargará de hacerlo por nosotros.

Concrétamente lo hace algo llamado ASI (Automatic semicolon insertion)

Pero hay que tener en cuenta que javascript puede interpretar de manera incorrecta tu código por la falta de un punto y coma.

const a = "Mi valor"
[1,2,3].forEach(console.log)

Aquí el interprete nos devolverá un error tal que así:

TypeError: "Mi valor"[(1 , 2 , 3)].forEach is not a function

Pasa de la misma manera con una IIF (Immediately-Invoked Function Expression).

Esto se debe a que la función anónima se envuelve en paréntesis () y si tenemos algún código delante de ella se interpretará como el nombre de la función.

const a = "Mi valor"
(() => {
  console.log("Función de invocación inmediata")
})()

Dando el error TypeError: "Mi valor" is not a function

Por tanto, recuerda que aunque el interprete de Javascript podrá ayudarnos a poner ese punto y coma final, debemos conocer sus limitaciones para el pequeño porcentaje donde es incapaz de resolver correctamente.