Cierto, "en teoría" son opcionales, sin embargo:
Cita: There's been a lot of debate over semicolons in JavaScript. Semicolons aren't required due to the nature of JavaScript's automatic semicolon insertion, but they've been been considered a best practice for years.
Para evitar errores, es mejor especificar por uno mismo donde acaba una sentencia y no dejar que el motor intente adivinarlo.