¿Por qué en Javascript el controlador de eventos funciona con paréntesis?

Javascript gurús, mira este código:

<button onclick="handler()">ClickMe</button>
        <script>
            function handler() {
            alert("clicked");
        }
     </script>

¿Por qué el evento onclick debe asignarse al controlador con () onclick = "handler ()"? En este caso se llama alerta. Pero de acuerdo con la lógica descrita como respuesta a una pregunta similar.https://stackoverflow.com/a/3247044/2543590 onclick asignado al resultado del controlador de funciones, no a la función en sí. Creo que asignar onclick para que funcione debería ser así

onclick="handler", 

Pero en este caso no se llama alerta. ¿Por qué?

Respuestas a la pregunta(4)

Su respuesta a la pregunta