¿Hay alguna razón para envolver las funciones anónimas de JavaScript entre llaves?

var a = function () {
    return 'test';
}();

console.log(a);

Respuesta en primer caso: prueba

var a = (function () {
    return 'test';
})();

console.log(a);

Respuesta en segundo caso: prueba

Estoy utilizando el primer enfoque para crear funciones autoejecutables. Sin embargo, también he visto el segundo enfoque. ¿Hay alguna diferencia en los dos enfoques? El resultado es obviamente el mismo.

Respuestas a la pregunta(3)

Su respuesta a la pregunta