Во многих языках синтаксис function_name(arg1, arg2, ...)
используется для вызова функции. Когда мы хотим вызвать функцию без каких-либо аргументов, мы должны это сделать function_name()
.
Я нахожу странным, что компилятор или интерпретатор сценариев потребовал ()
бы успешного обнаружения его как вызова функции. Если известно, что переменная может быть вызвана, почему этого function_name;
недостаточно?
С другой стороны, на некоторых языках мы можем сделать: function_name 'test';
или даже function_name 'first' 'second';
вызвать функцию или команду.
Я думаю, что круглые скобки были бы лучше, если бы они были необходимы только для объявления порядка приоритета, а в других местах были необязательными. Например, делать if expression == true function_name;
должно быть так же, как if (expression == true) function_name();
.
Самое неприятное, на мой взгляд, это делать, 'SOME_STRING'.toLowerCase()
когда явно не нужны аргументы для функции-прототипа. Почему дизайнеры решили против простого 'SOME_STRING'.lower
?
Отказ от ответственности: не поймите меня неправильно, я люблю C-подобный синтаксис! ;) Я просто спрашиваю, может ли это быть лучше. Есть ли у требования ()
преимущества в производительности или облегчает понимание кода? Мне действительно любопытно, в чем именно причина.
()
, и все же в вашем посте выделяется if (expression == true)
утверждение. Вы беспокоитесь о лишних ()
, но тогда используйте лишнее == true
:)