Parentheses después de "nueva <función>" opcional? [duplicar
Esta pregunta ya tiene una respuesta aquí:
¿Podemos omitir paréntesis al crear un objeto utilizando el operador "nuevo"? 6 respuestasHe ejecutado el siguiente par de fragmentos de código en la consola de Chrome, con los mismos resultados:
test = new function(){
var a = 1;
var b = 2;
var c = 3;
this.debugBase = function(){console.log('' + a + b + c)};
};
test
debugBase: function (){console.log('' + a + b + c)}
__proto__: Object
Versus
test2 = new (function(){
var a = 1;
var b = 2;
var c = 3;
this.debugBase = function(){console.log('' + a + b + c)};
})();
test2
debugBase: function (){console.log('' + a + b + c)}
__proto__: Object
¿Me estoy perdiendo de algo? ¿Hay algún significado para los paréntesis después de la función? Si no, ¿por qué la gente los pone allí?