En muchos idiomas, la sintaxis function_name(arg1, arg2, ...)se usa para llamar a una función. Cuando queremos llamar a la función sin ningún argumento, debemos hacerlo function_name().
Me resulta extraño que un compilador o un intérprete de script requiera ()detectarlo con éxito como una llamada de función. Si se sabe que una variable es invocable, ¿por qué no function_name;sería suficiente?
Por otro lado, en algunos idiomas podemos hacer: function_name 'test';o incluso function_name 'first' 'second';llamar a una función o un comando.
Creo que los paréntesis habrían sido mejores si solo fueran necesarios para declarar el orden de prioridad, y en otros lugares eran opcionales. Por ejemplo, hacer if expression == true function_name;debe ser tan válido como if (expression == true) function_name();.
Lo más molesto en mi opinión es hacerlo 'SOME_STRING'.toLowerCase()cuando claramente la función prototipo no necesita argumentos. ¿Por qué los diseñadores decidieron en contra de lo más simple 'SOME_STRING'.lower?
Descargo de responsabilidad: ¡No me malinterpreten, me encanta la sintaxis tipo C! ;) Solo estoy preguntando si podría ser mejor. ¿El hecho de requerir ()tiene ventajas de rendimiento o facilita la comprensión del código? Tengo mucha curiosidad sobre cuál es exactamente la razón.
(), pero lo que destaca en su publicación es la if (expression == true)declaración. Te preocupas por lo superfluo (), pero luego usa un superfluo == true:)