In molte lingue, la sintassi function_name(arg1, arg2, ...)viene utilizzata per chiamare una funzione. Quando vogliamo chiamare la funzione senza alcun argomento, dobbiamo farlo function_name().
Trovo strano che un compilatore o un interprete di script richiederebbe ()di rilevarlo correttamente come una chiamata di funzione. Se è noto che una variabile è richiamabile, perché non function_name;sarebbe sufficiente?
D'altra parte, in alcune lingue possiamo fare: function_name 'test';o persino function_name 'first' 'second';chiamare una funzione o un comando.
Penso che le parentesi sarebbero state migliori se fossero state necessarie solo per dichiarare l'ordine di priorità, e in altri luoghi fossero facoltativi. Ad esempio, fare if expression == true function_name;dovrebbe essere valido quanto if (expression == true) function_name();.
La cosa più fastidiosa secondo me è fare 'SOME_STRING'.toLowerCase()quando chiaramente la funzione prototipo non richiede argomenti. Perché i progettisti hanno deciso contro il più semplice 'SOME_STRING'.lower?
Disclaimer: non fraintendetemi, adoro la sintassi tipo C! ;) Sto solo chiedendo se potrebbe essere migliore. La richiesta ()ha qualche vantaggio in termini di prestazioni o semplifica la comprensione del codice? Sono davvero curioso di sapere quale sia esattamente il motivo.
(), ma la cosa che spicca nel tuo post è la if (expression == true)dichiarazione. Ti preoccupi del superfluo (), ma poi usi un superfluo == true:)