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
:)