语法设计-为什么在不传递任何参数的情况下使用括号?
在许多语言中,语法function_name(arg1, arg2, ...)用于调用函数。当我们想不带任何参数地调用函数时,我们必须这样做function_name()。 我感到奇怪的是,编译器或脚本解释器需要()成功将其检测为函数调用。如果已知一个变量是可调用的,那为什么还function_name;不够? 另一方面,在某些语言中,我们可以执行以下操作:function_name 'test';甚至function_name 'first' 'second';可以调用函数或命令。 我认为如果只需要用括号声明优先顺序,括号会更好,而在其他地方则是可选的。例如,doing if expression == true function_name;应该和一样有效if (expression == true) function_name();。 我认为最烦人的事情是'SOME_STRING'.toLowerCase()原型函数显然不需要参数时。设计师为什么决定反对更简单的选择'SOME_STRING'.lower? 免责声明:不要误会我的意思,我喜欢类似C的语法!;)我只是在问是否会更好。需求是否()具有任何性能优势,还是使理解代码更容易?我真的很好奇原因到底是什么。